Спецсімвалы ўнутры квадратных дужак у Python

Спецсімвалы ўнутры [ ] становяцца звычайнымі сімваламі. Гэта значыць, што іх не трэба экранаваць адваротным слешам.

Прыклад

У гэтым прыкладзе шаблон пошуку выглядае так: паміж іксамі любая літара 'a', 'b', 'c', альбо кропка:

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

print(res)

Вынік выканання кода:

python'! ! ! xdx ! x@x'

Прыклад

У гэтым прыкладзе шаблон пошуку выглядае так: паміж іксамі любая маленькая лацінская літара альбо кропка:

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

print(res)

Вынік выканання кода:

python'! ! ! x@x'

Практычныя задачы

Задание 1

Дадзены радок:

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

Напішыце рэгулярку, якая знойдзе радкі 'a.a', 'a+a', 'a*a', не закрануўшы астатніх.

Задание 2

Дадзены радок:

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

Напішыце рэгулярку, якая знойдзе радкі па шаблоне: літара 'x', потым НЕ кропка, НЕ сабака, і НЕ долар, а потым літара 'z'.