Cauta rapid aici ↑

Lucrul cu expresii regulate

In randurile urmatoare va voi prezenta o unealta foarte utila cu care vom creea diferite sabloane pe datele de tip string. Aceasta unealta este putin ciudata si reprezinta o zona aparte, iar sintaxa acestuia este putin diferita. Putem sa ne gandim ca aceasta parte a limbajului JavaScript este ca un dialect usor diferit fata de restul limbajului JavaScript. Unealta aceasta poarta numele de expresii regulate.

Creearea unei expresii regulate

O expresie regulata este un tip de obiect. Poate fi construit cu ajutorul constructorului RegExp() sau poate fi scris in interiorul a doua slash-uri ( // ). Acesta din urma este si cel mai folosit si pe acesta il vom folosi in continuare.

Ambele exemple de mai sus sunt identice si functioneaza la fel. Caracterele plus ( + ) si semnul intrebarii ( ? ), pentru a putea fi interpretate ca facand parte din string trebuiesc precedate de un backslash si asta pentru aceste caractere au un rol aparte in expresiile regulate.

Testarea pentru potrivire

Obiectul expresii regulate detine un numar de metode predefinite. Cea mai simpla este test(). Cu aceasta putem sa testam daca o componenta dintr-un string se regaseste in expresia regulata iar rezultatul va fi unul de tip booleean.

Metoda test() functioneaza in felul urmator. Cauta in expresia regulata de care este prinsa prin caracterul punct ( . ), informatia pe care o are in interiorul parantezelor proprii (i se mai spune si parametru). Este foarte important sa folositi ghilimele duble in interiorul parantezelor in cadrul metodei test().

Potrivirea unui set de caractere

JavaScript ne ofera posibilitatea unei prescurtari, cu conditia ca acestea sa fie declarate in interiorul parantezelor drepte, declarate prima si ultima litera a alfabetului separate de caracterul minus ( - ). La fel vom proceda si in cazul cifrelor.

Dupa cum se poate vedea in lista de mai sus, grupul de caractere reprezentat prin /\d/ suporta doar cifrele. Cu ajutorul acestuia putem sa testam daca o data este corecta sau nu.

Metoda replace()

In expresiile regulate mai exista o metoda foarte importanta si extrem de utila. Rolul acesteia este sa inlocuiasca parti dintr-un string. Metoda replace() modifica diferite litere sau anumite cuvinte cu ce cuvinte sau litere ne dorim. Metoda replace va avea doi parametrii. Primul poate fi un string sau o expresie regulata iar cel de-al doilea parametru va fi obligatoriu un string cu care vom inlocui ce gasim prin primul parametru al metodei replace.

Metoda replace() nu va inlocui decat primul exemplar, fie el litera sau cuvant, restul chiar daca se va mai regasi in string va ramane intact. Pentru a rezolva problema va trebui sa folosim litera g ce face referire la cuvantul global, referindu-se la intreg string-ul.