Inversarea seturilor de caractere în regex

Folosind semnul circumflex '^' la începutul parantezelor pătrate poți inversa dorința. Dacă, de exemplu, comanda [ab] caută litera 'a' sau 'b', atunci comanda [^ab] va căuta toate caracterele, cu excepția 'a' și 'b'.

Exemplu

În acest exemplu, șablonul de căutare arată astfel: litera 'x', apoi NU litera 'a', nu 'b' și nu 'c', apoi litera 'z':

pythontxt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)

print(res)

Rezultatul executării codului:

python'xax xbx xcx !'

Exemplu

În acest exemplu, șablonul de căutare arată astfel: litera 'x', apoi NU o literă mică latină, apoi litera 'z':

pythontxt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)

print(res)

Rezultatul executării codului:

python'xaz xbz ! !'

Probleme practice

Задание 1

Scrieți o expresie regulată care va găsi șirurile după modelul: cifra 1, apoi caracter care nu este 'e' și nu 'x', cifra 2.

Задание 2

Scrieți o expresie regulată care va găsi șirurile după modelul: litera 'x', apoi NU o cifră de la 2 la 7, litera 'z'.

Задание 3

Scrieți o expresie regulată care va găsi șirurile după modelul: litera 'x', apoi NU o literă latină mare de la 1 sau mai multe ori, litera 'z'.

Задание 4

Scrieți o expresie regulată care va găsi șirurile după modelul: litera 'x', apoi NU o literă latină mare sau mică și nu o cifră de la 1 la 5 de la 1 sau mai multe ori, litera 'z'.