Inversarea seturilor de caractere în expresiile regulate

Folosind semnul circumflex '^' la începutul parantezelor pătrate se poate inversa ceea ce se dorește. Adică, 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':

javascriptlet str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');

Ca rezultat, în variabilă se va scrie următoarele:

javascript'xax xbx xcx !'

Exemplu

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

javascriptlet str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');

Ca rezultat, în variabilă se va scrie următoarele:

javascript'xaz xbz ! !'

Probleme practice

Задание 1

Scrieți o expresie regulată care va găsi șirurile după modelul: cifra '1', apoi caracterul nu '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 și mai mult 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 și mai mult ori, litera 'z'.