Znaki specjalne wewnątrz nawiasów kwadratowych w Pythonie

Znaki specjalne wewnątrz [ ] stają się zwykłymi znakami. Oznacza to, że nie trzeba ich escapować ukośnikiem odwrotnym.

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: pomiędzy iksami dowolna litera 'a', 'b', 'c', albo kropka:

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

print(res)

Wynik wykonania kodu:

python'! ! ! xdx ! x@x'

Przykład

W tym przykładzie wzorzec wyszukiwania wygląda następująco: pomiędzy iksami dowolna mała litera łacińska lub kropka:

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

print(res)

Wynik wykonania kodu:

python'! ! ! x@x'

Zadania praktyczne

Задание 1

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi 'a.a', 'a+a', 'a*a', nie dotykając pozostałych.

Задание 2

Dany jest ciąg:

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

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: litera 'x', następnie NIE kropka, NIE małpa, i NIE dolar, a potem litera 'z'.