⊗pyPmREOC 51 of 129 menu

Comanda 'sau' în expresiile regulate Python

Comanda '|', care reprezintă o variantă mai puternică a 'sau' în comparație cu comanda [ ]. Această comandă permite împărțirea expresiei regulate în mai multe părți. În acest caz, ceea ce este căutat poate să se potrivească fie cu o parte a expresiei regulate, fie cu alta. Să vedem câteva exemple.

Exemplu

În acest exemplu, modelul de căutare este următorul: trei litere 'a' sau trei litere 'b':

txt = 'aaa bbb abb' res = re.sub('a{3}|b{3}', '!', txt) print(res)

Rezultatul executării codului:

'! ! abb'

Exemplu

În acest exemplu, modelul de căutare este următorul: trei litere 'a' sau de la 1 și mai multe litere 'b':

txt = 'aaa bbb bbbb bbbbb axx' res = re.sub('a{3}|b+', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! ! axx'

Exemplu

În acest exemplu, modelul de căutare este următorul: una sau mai multe litere sau trei cifre:

txt = 'a ab abc 1 12 123' res = re.sub('[a-z]+|\d{3}', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! 1 12 !'

Exemplu

Bara verticală poate împărți expresia regulată nu în două părți, ci în orice număr de părți:

txt = 'aaa bbb ccc ddd' res = re.sub('a+|b+|c+', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! ddd'

Exemplu

Dacă bara verticală se află în interiorul parantezelor rotunde, atunci 'sau' funcționează doar în interiorul acestor paranteze.

De exemplu, să găsim șirurile conform următorului model: la început se află fie 'a', fie 'b' de una sau mai multe ori, iar apoi două litere 'x':

txt = 'axx bxx bbxx exx' res = re.sub('(a|b+)xx', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! exx'

Probleme practice

Este dat șirul:

txt = 'aeeea aeea aea axa axxa axxxa'

Scrieți o expresie regulată care va găsi șirurile conform modelului: pe margini sunt literele 'a', iar între ele - fie litera 'e' de oricâte ori, fie litera 'x' de oricâte ori.

Este dat șirul:

txt = 'aeeea aeea aea axa axxa axxxa'

Scrieți o expresie regulată care va găsi șirurile conform modelului: pe margini sunt literele 'a', iar între ele - fie litera 'e' de două ori, fie litera 'x' de oricâte ori.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge