Zoskupujúce zátvorky v regulárnych výrazoch Python
V predchádzajúcich príkladoch operátory opakovania pôsobili len na jeden znak, ktorý stál pred nimi. Čo robiť, ak je potrebné, pôsobiť nimi na viacero znakov?
Na to existujú zoskupujúce zátvorky
'(' a . Fungujú tak:
ak je niečo v zoskupujúcich zátvorkách
a hneď za ')'')' je operátor
opakovania - bude pôsobiť na všetko, čo
je vo vnútri zátvoriek.
V nasledujúcom príklade vyhľadávací vzor vyzerá
takto: písmeno 'x', potom reťazec
'ab' raz alebo viackrát, potom písmeno
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Výsledok vykonania kódu:
'! ! xaabbx'
Daný reťazec:
txt = 'ab abab abab abababab abea'
Napíšte regulárny výraz, ktorý nájde reťazce
podľa vzoru: reťazec 'ab' sa opakuje
1 alebo viackrát.