⊗pyPmRERO 34 of 129 menu

Operátory opakovania znakov v regulárnych výrazoch

Nastávajú situácie, keď je potrebné určiť, že znak sa opakuje daný počet krát. Ak presný počet opakovaní nie je známy, možno ho jednoducho napísať viackrát - 'aaaa'. Ale čo robiť, ak je potrebné povedať niečo také: opakovať jeden alebo viac krát?

Na to existujú operátory (kvantifikátory) opakovania: plus + (jeden alebo viac krát), hviezdička * (nula alebo viac krát) a otáznik ? (nula alebo jeden raz). Tieto operátory pôsobia na ten znak, ktorý stojí pred nimi.

Pozrime sa na činnosť týchto operátorov na príkladoch.

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' jeden alebo viac krát, písmeno 'x':

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

Výsledok vykonania kódu:

'xx ! ! ! xbx'

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' nula alebo viac krát, písmeno 'x':

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

Výsledok vykonania kódu:

'! ! ! ! xbx'

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' nula alebo jeden raz, písmeno 'x':

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

Výsledok vykonania kódu:

'! ! xaax xbx'

Praktické úlohy

Daný reťazec:

txt = 'aa aba abba abbba abca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'aba', 'abba', 'abbba' podľa vzoru: písmeno 'a', písmeno 'b' ľubovoľný počet krát, písmeno 'a'.

Daný reťazec:

txt = 'aa aba abba abbba abca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'aa', 'aba', 'abba', 'abbba' podľa vzoru: písmeno 'a', písmeno 'b' ľubovoľný počet krát (vrátane žiadneho krát), písmeno 'a'.

Daný reťazec:

txt = 'aa aba abba abbba abca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'aa', 'aba' podľa vzoru: písmeno 'a', písmeno 'b' jeden raz alebo žiadny, písmeno 'a'.

Daný reťazec:

txt = 'aa aba abba abbba abca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'aa', 'aba', 'abba', 'abbba', bez zachytenia 'abca' a '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
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ť