Grupperende parenteser i Python regex
I tidligere eksempler virkede gentagelsesoperatorer kun på et enkelt tegn, som stod foran dem. Hvad gør man, hvis man skal lade dem virke på flere tegn?
Til dette findes grupperende parenteser
'(' og . De fungerer sådan:
hvis noget står i grupperende parenteser
og lige efter ')'')' står en operator for
gentagelse - vil den virke på alt, hvad
der står inde i parenteserne.
I det næste eksempel ser søgemønstret ud
sådan: bogstavet 'x', derefter strengen
'ab' en eller flere gange, så bogstavet
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Resultatet af kodeudførelsen:
'! ! xaabbx'
Givet en streng:
txt = 'ab abab abab abababab abea'
Skriv et regulært udtryk, der finder strenge
efter mønsteret: strengen 'ab' gentages
1 eller flere gange.