Specijalni karakteri unutar uglastih zagrada u Pythonu

Specijalni karakteri unutar [ ] postaju obični karakteri. To znači da ih ne treba escapovati obrnutom kosom crtom.

Primer

U ovom primeru šablon pretrage izgleda ovako: između iksa bilo koje slovo 'a', 'b', 'c', ili tačka:

pythontxt = 'xax xbx xcx xdx x.x x@x'
res = re.sub('x[abc.]x', '!', txt)

print(res)

Rezultat izvršavanja koda:

python'! ! ! xdx ! x@x'

Primer

U ovom primeru šablon pretrage izgleda ovako: između iksa bilo koje malo latinično slovo ili tačka:

pythontxt = 'xax xbx xcx x@x'
res = re.sub('x[a-z.]x', '!', txt)

print(res)

Rezultat izvršavanja koda:

python'! ! ! x@x'

Praktični zadaci

Задание 1

Data je linija teksta:

pythontxt = 'aba aea aca aza axa a.a a+a a*a'

Napišite regularni izraz koji će naći linije 'a.a', 'a+a', 'a*a', a da ne dotakne ostale.

Задание 2

Data je linija teksta:

pythontxt = 'xaz x.z x3z x@z x$z xrz'

Napišite regularni izraz koji će naći linije po šablonu: slovo 'x', zatim NE tačka, NE ampersand (znak @), i NE znak za dolar, a zatim slovo 'z'.