Herhalingsoperateurs vir karakters in regulêre uitdrukkings
Daar is situasies waar jy moet aandui dat
'n karakter 'n gegewe aantal keer herhaal.
As die presiese aantal herhalings onbekend is,
kan jy dit eenvoudig 'n paar keer skryf
- 'aaaa'. Maar wat om te doen as jy
moë sê: herhaal een of meer keer?
Vir hierdie bestaan daar herhalingsoperateurs (kwantifiseerders):
plus + (een of meer keer), sterretjie * (nul of meer
keer) en vraagteken ? (nul of een keer).
Hierdie operateurs werk op die karakter
wat voor hulle staan.
Kom ons kyk na die werking van hierdie operateurs aan die hand van voorbeelde.
Voorbeeld
Kom ons vind alle substrings volgens patroon letter
'x', letter 'a' een of meer
keer, letter 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)
print(res)
Resultaat van die uitvoering van die kode:
'xx ! ! ! xbx'
Voorbeeld
Kom ons vind alle substrings volgens patroon letter
'x', letter 'a' nul of meer
keer, letter 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)
print(res)
Resultaat van die uitvoering van die kode:
'! ! ! ! xbx'
Voorbeeld
Kom ons vind alle substrings volgens patroon letter
'x', letter 'a' nul of een
keer, letter 'x':
txt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)
print(res)
Resultaat van die uitvoering van die kode:
'! ! xaax xbx'
Praktiese take
Gegewe 'n string:
txt = 'aa aba abba abbba abca abea'
Skryf 'n regulêre uitdrukking wat die strings
'aba', 'abba', 'abbba'
volgens patroon sal vind: letter 'a', letter
'b' enige aantal kere, letter
'a'.
Gegewe 'n string:
txt = 'aa aba abba abbba abca abea'
Skryf 'n regulêre uitdrukking wat die strings
'aa', 'aba', 'abba',
'abbba' volgens patroon sal vind: letter
'a', letter 'b' enige aantal kere
(insluitend geen keer), letter
'a'.
Gegewe 'n string:
txt = 'aa aba abba abbba abca abea'
Skryf 'n regulêre uitdrukking wat die strings
'aa', 'aba' volgens patroon sal vind:
letter 'a', letter 'b' een keer
of geen, letter 'a'.
Gegewe 'n string:
txt = 'aa aba abba abbba abca abea'
Skryf 'n regulêre uitdrukking wat die strings
'aa', 'aba', 'abba',
'abbba' sal vind, sonder om 'abca'
en 'abea' te vang.