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':
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
Ca rezultat, în variabilă se va scrie următoarele:
'xax xbx xcx !'
Exemplu
În acest exemplu, șablonul de căutare arată astfel:
litera 'x', apoi NU o literă latină mică,
apoi litera 'z':
let str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');
Ca rezultat, în variabilă se va scrie următoarele:
'xaz xbz ! !'
Probleme practice
Scrieți o expresie regulată care va găsi șirurile
după modelul: cifra '1', apoi caracterul
nu 'e' și nu 'x', cifra '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'.
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'.
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'.