⊗pyPmREInr 33 of 129 menu

Úvod do regulárnych výrazov v Pythone

Regulárne výrazy sú príkazy pre zložité vyhľadávanie a nahradzovanie (alebo jednoducho vyhľadávanie). Umožňujú robiť veľmi zaujímavé veci, ale, žiaľ, sú pomerne ťažké na osvojenie.

Ak chceme začať pracovať s regulárnymi výrazmi v Pythone, musíme importovať špeciálny modul re:

import re

Modul re obsahuje metódy určené na prácu s regulárnymi výrazmi. Regulárny výraz predstavuje súbor príkazov a pozostáva z dvoch typov symbolov: z tých, ktoré označujú samé seba a zo symbolov-príkazov, ktoré sa nazývajú špeciálne symboly.

Zoznámenie s regulárnymi výrazmi je lepšie začať na príklade metódy sub, ktorý sa používa na nahradzovanie v reťazci. Prvým parametrom metóda prijíma čo meniť, druhým - na čo meniť. V treťom parametri uvádzame reťazec, v ktorom potrebujeme urobiť nahradenie. Vo štvrtom voliteľnom parametri nastavujeme počet nahradení. Najjednoduchšie nahradenie pomocou tejto metódy bude vyzerať takto:

res = re.sub('a', '!', 'bab') print(res) # vypíše 'b!b'

Ako ste si všimli, v regulárnom výraze písmená označujú samé seba. To isté platí aj pre číslice. Nahraďme číslicu 2 na !:

res = re.sub('2', '!', '12abc3') print(res) # vypíše '1!abc3'

No bodka je špeciálnym symbolom a označuje akýkoľvek symbol. V nasledujúcom príklade nájdime podreťazec podľa takéhoto vzoru: písmeno 'x', potom akýkoľvek symbol, potom opäť písmeno 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # vypíše '! eee'

Daný reťazec:

txt = 'ahb acb aeb aeeb adcb axeb'

Napíšte regulárny výraz, ktorý nájde reťazce 'ahb', 'acb', 'aeb' podľa vzoru: písmeno 'a', akýkoľvek symbol, písmeno 'b'.

Daný reťazec:

txt = 'aba aca aea abba adca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'abba', 'adca', 'abea' podľa vzoru: písmeno 'a', 2 akýchkoľvek symbolov, písmeno 'a'.

Daný reťazec:

txt = 'aba aca aea abba adca abea'

Napíšte regulárny výraz, ktorý nájde reťazce 'abba' a 'abea', bez zachytenia 'adca'.

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ť