Regex: Caractere ce se repeta si Cuvinte din aceasi familie

Stefanescu Mihai Stefanescu Mihai Regular Expressions cu 5 ani în urmă
Fii primul care comenteaza!

In acest articol am sa presupun ca dorim sa cautam un cuvant in care poate varia o anumita litera, sa luam exemplul de mai jos:

invat
invaaaat
invaaaaaaaaaaat
invaaaaaaaaaaaaaaaaaaat
invaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaat

Ce putem face pentru a selecta toate aceste versiuni ale cuvantului?
Putem face un regex care va cauta cuvantul initial si-l va gasi chiar daca o anumita litera se repeta de mai multe ori:

Destul de simplu, nu? Hai sa va invat cum sa faceti acest lucru intr-un mod si mai simplu. Trebuie doar sa adaugati un + dupa caracterul ce este posibil sa se repete de mai multe ori:

Cuvinte din aceasi familie

Acum am sa va vorbesc despre gasirea cuvintelor cu aceasi radacina.
Pentru inceput trebuie sa luam o familie de cuvinte cu aceasi radacina:

invat
invatam
invatasem

Se poate observa foarte simplu ca radacina este invat, din care vin derivatele invatam si invatasem.
In acest caz, ca si in cazul de mai sus putem face acest lucru in 2 moduri:
Putem cauta radacina urmata de orice alte 0 sau mai multe caractere:

invat(.*)

Sau putem cauta radacina urmata de una dintre terminatiile dorite:

invat(am|asem)?


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.