Regex: Grupuri si Cuantificatori

Regular Expressions | Stefanescu Mihai | 2020-10-11

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

+@

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:



Imi place ce faci aici
Daca iti place ce fac aici imi poti cumpara o cafea Buy Me a Coffee at ko-fi.com

Stefanescu Mihai
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.

Posteaza un comentariu

Comentarii

Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!

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 ⊞

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.

⮆ïļ