⊗pyPmRERO 34 of 129 menu

Operatorji ponavljanja znakov v regularnih izrazih

Obstajajo situacije, ko je treba navesti, da se znak ponovi določeno število krat. Če natančno število ponovitev ni znano, ga lahko preprosto napišete večkrat - 'aaaa'. Toda kaj storiti, če morate reči nekaj takega: ponoviti enkrat ali več krat?

Za to obstajajo operatorji (kvantifikatorji) ponavljanja: plus + (enkrat ali več krat), zvezdica * (nič ali več krat) in vprašaj ? (nič ali enkrat). Ti operatorji delujejo na znak, ki stoji pred njimi.

Poglejmo si delovanje teh operatorjev na primerih.

Primer

Poiščimo vse podnize po vzorcu črka 'x', črka 'a' enkrat ali več krat, črka 'x':

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

Rezultat izvajanja kode:

'xx ! ! ! xbx'

Primer

Poiščimo vse podnize po vzorcu črka 'x', črka 'a' nič ali več krat, črka 'x':

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

Rezultat izvajanja kode:

'! ! ! ! xbx'

Primer

Poiščimo vse podnize po vzorcu črka 'x', črka 'a' nič ali enkrat, črka 'x':

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

Rezultat izvajanja kode:

'! ! xaax xbx'

Praktične naloge

Podan niz:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz, ki bo poiskal nize 'aba', 'abba', 'abbba' po vzorcu: črka 'a', črka 'b' poljubno število krat, črka 'a'.

Podan niz:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz, ki bo poiskal nize 'aa', 'aba', 'abba', 'abbba' po vzorcu: črka 'a', črka 'b' poljubno število krat (vključno z nič krat), črka 'a'.

Podan niz:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz, ki bo poiskal nize 'aa', 'aba' po vzorcu: črka 'a', črka 'b' enkrat ali ničkrat, črka 'a'.

Podan niz:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz, ki bo poiskal nize 'aa', 'aba', 'abba', 'abbba', ne da bi zajel 'abca' in 'abea'.

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