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':

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)

print(res)

Resultaat van die uitvoering van die kode:

python'xx ! ! ! xbx'

Voorbeeld

Kom ons vind alle substrings volgens patroon letter 'x', letter 'a' nul of meer keer, letter 'x':

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)

print(res)

Resultaat van die uitvoering van die kode:

python'! ! ! ! xbx'

Voorbeeld

Kom ons vind alle substrings volgens patroon letter 'x', letter 'a' nul of een keer, letter 'x':

pythontxt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)

print(res)

Resultaat van die uitvoering van die kode:

python'! ! xaax xbx'

Praktiese take

Задание 1

Gegewe 'n string:

pythontxt = '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'.

Задание 2

Gegewe 'n string:

pythontxt = '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'.

Задание 3

Gegewe 'n string:

pythontxt = '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'.

Задание 4

Gegewe 'n string:

pythontxt = '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.