Grupperende parenteser i Python regex
I tidligere eksempler virket repeteringsoperatorer kun på ett enkelt tegn som stod foran dem. Hva gjør du hvis du trenger å la dem virke på flere tegn?
For dette finnes grupperende parenteser
'(' og . De fungerer slik:
hvis noe står i grupperende parenteser
og rett etter ')'')' står en repeterings-
operator, vil den virke på alt som
står inne i parentesene.
I det følgende eksemplet ser søkemønsteret
slik ut: bokstaven 'x', deretter strengen
'ab' en eller flere ganger, deretter bokstaven
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Resultat av kjøring av koden:
'! ! xaabbx'
Gitt en streng:
txt = 'ab abab abab abababab abea'
Skriv et regulært uttrykk som finner strenger
etter mønsteret: strengen 'ab' gjentas
1 eller flere ganger.