Grupperande parenteser i Pythons regex
I tidigare exempel verkade repetitionsoperatorerna endast på ett tecken som stod före dem. Vad ska man göra om man behöver få dem att verka på flera tecken?
För detta finns grupperande parenteser
'(' och . De fungerar så här:
om något står inom grupperande parenteser
och direkt efter ')'')' finns en repetitionsoperator
- kommer den att verka på allt som
står inom parenteserna.
I följande exempel ser sökmönstret ut
så här: bokstaven 'x', följt av strängen
'ab' en eller flera gånger, sedan bokstaven
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Resultat av kodkörning:
'! ! xaabbx'
Given en sträng:
txt = 'ab abab abab abababab abea'
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: strängen 'ab' upprepas
1 eller fler gånger.