Ryhmittelevät sulkeet Pythonin säännöllisissä lausekkeissa
Edellisissä esimerkeissä toistooperaattorit vaikuttivat vain yhteen merkkiin, joka seisoi niiden edessä. Mitä tehdä, jos niiden on vaikutettava useaan merkkiin?
Tätä varten on olemassa ryhmittelevät sulkeet
'(' ja . Ne toimivat seuraavasti:
jos jotain on ryhmittelevissä sulkeissa
ja heti ')'')' jälkeen on toistooperaattori
- se vaikuttaa kaikkeen, mikä
on sulkeiden sisällä.
Seuraavassa esimerkissä hakumalli näyttää
tältä: kirjain 'x', sen jälkeen merkkijono
'ab' yksi tai useampi kerta, sitten kirjain
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Koodin suorituksen tulos:
'! ! xaabbx'
Annettu merkkijono:
txt = 'ab abab abab abababab abea'
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
mallin mukaan: merkkijono 'ab' toistuu
1 tai useamman kerran.