Regex: Grupuri si Cuantificatori

Stefanescu Mihai 2 years ago Regular Expressions

In acest articol am sa vorbesc despre grupuri si cum putem selecta sau omite un asemenea grup.
Hai sa facem un regex ce va selecta o adresa de email. In primul rand dorim sa selectam tot ce este inainte de @, deci o sa cautam toate caracterele alfa-numerice si underscore:

[A-Za-z0-9_]

Apoi avem nevoie de un @ pe care-l selectam folosind

[email protected]

Apoi pentru provider avem inca o data un set de carcatere alfanumeric + cratima (aici puteti orice alte caractere doriti sa fie acceptate):

[A-Za-z0-9-]

Iar acum pentru domeniu am putea pune (.*) sau alt grup alfa numeric [A-Za-z0-9], dar aici avem urmatoarea problema, daca un utilizator pune un domeniu precum .sd87sdfasah acesta va fi acceptat, deci trebuie sa facem un grup in felul urmator (si aici puteti pune si alte domenii, dar trebuie sa fie separate de operatorul | ):

(ro|org|com)

Cuantificatori

Am facut o lista de cuvinte cu care sa lucram mai departe:

invata programare
salut
expresie

Acum probabil cu totii stim cum sa selectam un cuvant, folosim [a-z]+, dar ce facem cand dorim sa selectam doar cuvintele care sunt formate din 5 litere?
Pai putem face urmatorul lucru:

Se poate observa ca au fost selectate primele 5 litere din fiecare cuvant. Acoladele, ca in exemplul de mai sus, de permit sa specificam si un interval in care sa se afle textul dorit, de exemplu:

Folosind aceleasi acolade putem cauta cuvinte cu un numar de litere mai mare decat un anumit numar stabilit de noi:

Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.


Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.
Login Register

🔖 Bookmarks
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord
Back to top
Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.