⊗pyPmREOC 51 of 129 menu

Príkaz 'alebo' v regulárnych výrazoch Python

Príkaz '|', ktorý predstavuje výkonnejšiu variantu 'alebo' v porovnaní s príkazom [ ]. Tento príkaz umožňuje rozdeliť regulárny výraz na niekoľko častí. Pričom hľadaný reťazec môže spĺňať buď jednu časť regulárneho výrazu, alebo druhú. Pozrime sa na príklady.

Príklad

V tomto príklade je vyhľadávací vzor taký: tri písmená 'a' alebo tri písmená 'b':

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

Výsledok vykonania kódu:

'! ! abb'

Príklad

V tomto príklade je vyhľadávací vzor taký: tri písmená 'a' alebo od 1 a viac písmen 'b':

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

Výsledok vykonania kódu:

'! ! ! ! axx'

Príklad

V tomto príklade je vyhľadávací vzor taký: jedno alebo viac písmen alebo tri číslice:

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

Výsledok vykonania kódu:

'! ! ! 1 12 !'

Príklad

Zvislá čiara môže rozdeliť regulárny výraz nie na dve časti, ale na ľubovoľný počet častí:

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

Výsledok vykonania kódu:

'! ! ! ddd'

Príklad

Ak je zvislá čiara v okrúhlych zátvorkách, tak 'alebo' funguje len vnútri týchto zátvoriek.

Pre príklad nájdime reťazce podľa nasledujúceho vzoru: na začiatku je alebo 'a', alebo 'b' jeden alebo viac krát, a potom dve písmená 'x':

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

Výsledok vykonania kódu:

'! ! ! exx'

Praktické úlohy

Daný reťazec:

txt = 'aeeea aeea aea axa axxa axxxa'

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: na okrajoch sú písmená 'a', a medzi nimi - alebo písmeno 'e' ľubovoľný počet krát alebo písmeno 'x' ľubovoľný počet krát.

Daný reťazec:

txt = 'aeeea aeea aea axa axxa axxxa'

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: na okrajoch sú písmená 'a', a medzi nimi - alebo písmeno 'e' dva krát alebo písmeno 'x' ľubovoľný počet krát.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť