⊗pyPmREOC 51 of 129 menu

Ukaz 'ali' v regularnih izrazih Pythona

Ukaz '|', ki predstavlja močnejšo različico 'ali' v primerjavi z ukazom [ ]. Ta ukaz omogoča razdelitev regularnega izraza na več delov. Pri tem lahko iskani niz ustreza enemu delu regularnega izraza ali drugemu. Poglejmo si primere.

Primer

V tem primeru je vzorec iskanja tak: tri črke 'a' ali tri črke 'b':

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

Rezultat izvajanja kode:

'! ! abb'

Primer

V tem primeru je vzorec iskanja tak: tri črke 'a' ali od 1 in več črk 'b':

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

Rezultat izvajanja kode:

'! ! ! ! axx'

Primer

V tem primeru je vzorec iskanja tak: ena ali več črk ali tri številke:

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

Rezultat izvajanja kode:

'! ! ! 1 12 !'

Primer

Navpična črta lahko razdeli regularni izraz ne na dva dela, ampak na poljubno število delov:

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

Rezultat izvajanja kode:

'! ! ! ddd'

Primer

Če je navpična črta znotraj okroglih oklepajev, potem 'ali' deluje samo znotraj teh oklepajev.

Za primer poiščimo nize po naslednjem vzorcu: na začetku je ali 'a', ali 'b' enkrat ali večkrat, nato pa dve črki 'x':

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

Rezultat izvajanja kode:

'! ! ! exx'

Praktične naloge

Dan je niz:

txt = 'aeeea aeea aea axa axxa axxxa'

Napišite regularni izraz, ki bo našel nize po vzorcu: ob straneh so črke 'a', med njimi pa - ali črka 'e' poljubno število krat ali črka 'x' poljubno število krat.

Dan je niz:

txt = 'aeeea aeea aea axa axxa axxxa'

Napišite regularni izraz, ki bo našel nize po vzorcu: ob straneh so črke 'a', med njimi pa - ali črka 'e' dvakrat ali črka 'x' poljubno število krat.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni