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:
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Kody ýerine ýetirmegiň netijesi:
'! ! xaabbx'
Setir berlen:
txt = '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.