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':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
W wyniku do zmiennej zapisze się następujące:
'! ! ! dxx'
Przykład
A teraz wzorzec wyszukiwania jest taki: pierwszy
znak to 'd' lub '^',
potem dwie litery 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
W wyniku do zmiennej zapisze się następujące:
'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:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
W wyniku do zmiennej zapisze się następujące:
'axx bxx ! !'
Zadania praktyczne
Dany jest ciąg znaków:
txt = '^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.
Dany jest ciąg znaków:
txt = '^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.
Dany jest ciąg znaków:
txt = '^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.