⊗pyPmRERO 34 of 129 menu

Operatori ponavljanja karaktera u regularnim izrazima

Dešavaju se situacije kada treba naznačiti da se karakter ponavlja zadati broj puta. Ako tačan broj ponavljanja nije poznat, možemo ga jednostavno napisati više puta - 'aaaa'. Ali šta raditi ako treba reći ovako: ponoviti jedan ili više puta?

Za to postoje operatori (kvantifikatori) ponavljanja: plus + (jedan ili više puta), zvezdica * (nula ili više puta) i znak pitanja ? (nula ili jedan put). Ovi operatori deluju na onaj karakter koji stoji ispred njih.

Pogledajmo rad ovih operatora na primerima.

Primer

Naći ćemo sve podstringove po šablonu slovo 'x', slovo 'a' jedan ili više puta, slovo 'x':

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

Rezultat izvršavanja koda:

'xx ! ! ! xbx'

Primer

Naći ćemo sve podstringove po šablonu slovo 'x', slovo 'a' nula ili više puta, slovo 'x':

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

Rezultat izvršavanja koda:

'! ! ! ! xbx'

Primer

Naći ćemo sve podstringove po šablonu slovo 'x', slovo 'a' nula ili jedan put, slovo 'x':

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

Rezultat izvršavanja koda:

'! ! xaax xbx'

Praktični zadaci

Data je string:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz koji će naći stringove 'aba', 'abba', 'abbba' po šablonu: slovo 'a', slovo 'b' bilo koji broj puta, slovo 'a'.

Data je string:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz koji će naći stringove 'aa', 'aba', 'abba', 'abbba' po šablonu: slovo 'a', slovo 'b' bilo koji broj puta (uključujući ni jedan put), slovo 'a'.

Data je string:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz koji će naći stringove 'aa', 'aba' po šablonu: slovo 'a', slovo 'b' jedan put ili nijedan, slovo 'a'.

Data je string:

txt = 'aa aba abba abbba abca abea'

Napišite regularni izraz koji će naći stringove 'aa', 'aba', 'abba', 'abbba', a neće zahvatiti 'abca' i 'abea'.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij