Znak daszka wewnątrz zbiorów w wyrażeniach regularnych Pythona

Jak wiadomo, daszek wewnątrz [ ] tworzy negację, gdy jest napisany na początku nawiasów. Oznacza to, że jest specjalnym symbolem wewnątrz tych nawiasów. Aby uzyskać daszek jako symbol, trzeba albo go wyescapować, albo usunąć z pierwszej pozycji.

Przykład

W następującym przykładzie wzorzec wyszukiwania jest taki: pierwszy znak to wszystko oprócz 'd', potem dwie litery 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)

print(res)

W wyniku do zmiennej zapisze się następujące:

python'! ! ! dxx'

Przykład

A teraz wzorzec wyszukiwania jest taki: pierwszy znak to 'd' lub '^', potem dwie litery 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)

print(res)

W wyniku do zmiennej zapisze się następujące:

python'axx bxx ! !'

Przykład

Można nie usuwać daszka z pierwszej pozycji, a po prostu wyescapować go za pomocą odwrotnego ukośnika, a będzie oznaczać samego siebie:

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)

print(res)

W wyniku do zmiennej zapisze się następujące:

python'axx bxx ! !'

Zadania praktyczne

Задание 1

Dany jest ciąg znaków:

pythontxt = '^xx axx ^zz bkk @ss'

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: daszek lub małpa, a następnie dwie litery łacińskie.

Задание 2

Dany jest ciąg znaków:

pythontxt = '^xx axx ^zz bkk @ss'

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: NIE daszek i nie małpa, a następnie dwie litery łacińskie.

Задание 3

Dany jest ciąg znaków:

pythontxt = '^xx axx ^zz bkk'

Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: nie daszek i nie spacja, a następnie dwie litery łacińskie.