Nawiasy grupujące w wyrażeniach regularnych Pythona
W poprzednich przykładach operatory powtórzeń działały tylko na jeden znak, który stał przed nimi. Co zrobić, jeśli trzeba zastosować je do kilku znaków?
Do tego służą nawiasy grupujące
'(' i . Działają one tak:
jeśli coś stoi w nawiasach grupujących
i zaraz po ')'')' stoi operator
powtórzenia - zadziała on na wszystko, co
stoi wewnątrz nawiasów.
W następnym przykładzie wzorzec wyszukiwania wygląda
następująco: litera 'x', następnie ciąg znaków
'ab' jeden lub więcej razy, potem litera
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Wynik wykonania kodu:
'! ! xaabbx'
Dany jest ciąg znaków:
txt = 'ab abab abab abababab abea'
Napisz wyrażenie regularne, które znajdzie ciągi znaków
według wzorca: ciąg znaków 'ab' powtarzany
1 lub więcej razy.