Python regular ifadelerinde toparlaýjy çyzyşlar

Öňki mysallarda gaýtalanma operatorlary diňe öňlerinde duran bir nyşana täsir etdi. Eger-de olary birnäçe nyşana täsir etdirmek gerek bolsa, näme etmeli?

Bunun üçin toparlaýjy çyzyşlar '(' we ')' bar. Olar şeýle işleýär: eger bir zadyň toparlaýjy çyzyşlar içinde bolsa we ')' nyşanynyň derrew yzydan gaýtalanma operatory bolsa - ol çyzyşlar içindäki ähli zada täsir eder.

Indiki mysalda gözleg şablony şeýle görünýär: harf 'x', onsoň bir ýa-da birnäçe gezek 'ab' setiri, soňra 'x' harfy:

pythontxt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)

print(res)

Kody ýerine ýetirmegiň netijesi:

python'! ! xaabbx'
Задание 1

Setir berlen:

pythontxt = 'ab abab abab abababab abea'

Şablona laýyk gelen setirleri tapýan regular ýaz: 'ab' setiri 1 ýa-da birnäçe gezek gaýtalanýar.