Inwersja zestawów znaków w regex
Za pomocą daszka '^' na początku
nawiasów kwadratowych można odwrócić
pożądany zestaw. Jeśli na przykład polecenie [ab]
szuka litery 'a' lub 'b', to
polecenie [^ab] będzie szukać wszystkich
znaków, z wyjątkiem 'a' i 'b'.
Przykład
W tym przykładzie wzorzec wyszukiwania wygląda
następująco: litera 'x', następnie NIE litera
'a', nie 'b' i nie 'c',
potem litera 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Wynik wykonania kodu:
'xax xbx xcx !'
Przykład
W tym przykładzie wzorzec wyszukiwania wygląda
następująco: litera 'x', następnie NIE mała
litera łacińska, potem litera 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Wynik wykonania kodu:
'xaz xbz ! !'
Zadania praktyczne
Napisz wyrażenie regularne, które znajdzie ciągi
znaków według wzorca: cyfra 1, następnie znak
nie 'e' i nie 'x', cyfra
2.
Napisz wyrażenie regularne, które znajdzie ciągi
znaków według wzorca: litera 'x', następnie NIE
cyfra od 2 do 7, litera
'z'.
Napisz wyrażenie regularne, które znajdzie ciągi
znaków według wzorca: litera 'x', następnie NIE
duża litera łacińska od 1 i więcej
razy, litera 'z'.
Napisz wyrażenie regularne, które znajdzie ciągi
znaków według wzorca: litera 'x', następnie NIE
duża lub mała litera łacińska i
nie cyfra od 1 do 5 od 1
i więcej razy, litera 'z'.