Fiecare token regex de bază: ancore, clase de caractere, cuantificatori, grupuri și flag-uri. Ce înseamnă fiecare, cu o potrivire concretă. Referința rapidă care însoțește instrumentul Regex Tester.
Tokenurile regex se combină: așază o ancoră, o clasă de caractere și un cuantificator ca să construiești un pattern. ^ se prinde de un început, \d potrivește o cifră, iar {2,4} stabilește de câte ori. Combină-le ca ^\d{2,4}$ ca să potrivești un șir întreg de două până la patru cifre. Citește un pattern de la stânga la dreapta, câte un token o dată. Instrumentul însoțitor Regex Tester îți permite să încerci oricare dintre aceste tokenuri live pe propriul text.
Potrivește poziția de la începutul șirului sau începutul unei linii cu flag-ul m.
^He → He
Potrivește poziția de la sfârșitul șirului sau sfârșitul unei linii cu flag-ul m.
lo$ → lo
Potrivește o limită de cuvânt, poziția dintre un caracter de cuvânt și unul care nu e de cuvânt.
\bcat\b → cat
Potrivește o non-limită de cuvânt, poziția dintre două caractere de cuvânt sau două caractere care nu sunt de cuvânt.
\Bar → ar
Clase de caractere
Potrivește orice caracter singular în afara unui salt de rând, cu excepția cazului în care flag-ul s e setat.
a.c → abc
Potrivește orice cifră, de la 0 la 9.
\d → 7
Potrivește orice caracter care nu e o cifră.
\D → a
Potrivește orice caracter de cuvânt: o literă, o cifră sau un underscore.
\w → _
Potrivește orice caracter care nu e un caracter de cuvânt.
\W → !
Potrivește orice caracter de tip whitespace: un spațiu, un tab sau un salt de rând.
a\sb → a b
Potrivește orice caracter care nu e whitespace.
\S → a
Potrivește oricare dintre caracterele enumerate între parantezele drepte.
[aeiou] → e
Potrivește orice caracter care nu e unul dintre cele enumerate între parantezele drepte.
[^aeiou] → s
Potrivește orice caracter singular din intervalul dat, de la a la z.
[a-z] → m
Potrivește orice caracter singular, inclusiv un salt de rând — expresia idiomatică uzuală pentru un punct care acoperă mai multe linii.
[\s\S] → \n
Potrivește orice literă unicode din orice sistem de scriere, când flag-ul u e setat.
\p{L} → é
Potrivește orice caracter numeric unicode din orice sistem de scriere, când flag-ul u e setat.
\p{N} → ٣
Escape: potrivește un singur caracter line feed.
\n → line feed
Escape: potrivește un singur caracter tab.
\t → tab
Escape: potrivește un singur caracter carriage return.
\r → carriage return
Potrivește caracterul singular cu codul hexazecimal din două cifre dat.
\x41 → A
Potrivește caracterul singular cu punctul de cod hexazecimal dat, când flag-ul u e setat.
\u{1F600} → 😀
Intersecție de clase, cu flag-ul v: potrivește caracterele care sunt în ambele seturi deodată.
[[a-z]&&[^aeiou]] → t
Cuantificatori
Potrivește tokenul anterior de zero sau mai multe ori.
ab* → abbb
Potrivește tokenul anterior de una sau mai multe ori.
a+ → aaa
Potrivește tokenul anterior de zero sau o singură dată, făcându-l opțional.
colou?r → color
Potrivește tokenul anterior de exact n ori.
a{3} → aaa
Potrivește tokenul anterior de n sau mai multe ori.
a{2,} → aaaa
Potrivește tokenul anterior de între n și m ori, inclusiv.
a{2,4} → aaa
Cuantificator leneș: potrivește tokenul anterior de zero sau mai multe ori, luând cât mai puțin posibil.
<.*?> on <a><b> → <a>
Cuantificator leneș: potrivește tokenul anterior de una sau mai multe ori, luând cât mai puțin posibil.
\d+? on 123 → 1
Cuantificator leneș: potrivește tokenul anterior de zero sau o singură dată, preferând zero.
ab?? on ab → a
Cuantificator leneș: potrivește tokenul anterior de între n și m ori, luând cât mai puțin posibil.
a{1,3}? on aaa → a
Cuantificator posesiv (PCRE): potrivește tokenul anterior de zero sau mai multe ori și îl păstrează, fără să facă backtracking ca să încerce alte împărțiri.
.*+a on aaa → no match
Grupuri și alternare
Un grup capturant: potrivește secvența și o ține minte pentru backreference-uri.
(ab)+ → abab
Un grup non-capturant: potrivește secvența fără să o țină minte.
(?:ab)+ → abab
Lookahead pozitiv: potrivește dacă următoarele caractere sunt abc, fără să le consume.
a(?=b) → a
Lookahead negativ: potrivește dacă următoarele caractere nu sunt abc, fără să le consume.
a(?!b) → a
Backreference: potrivește exact textul pe care l-a capturat grupul 1.
(a)\1 → aa
Alternare: potrivește fie expresia de dinaintea barei verticale, fie cea de după.
cat|dog → dog
Un grup capturant cu nume: potrivește secvența și o ține minte sub numele dat.
(?<year>\d{4}) → year = 2026
Lookbehind pozitiv: potrivește dacă caracterele precedente sunt abc, fără să le consume.
(?<=a)b → b
Lookbehind negativ: potrivește dacă caracterele precedente nu sunt abc, fără să le consume.
(?<!a)b → b
Backreference cu nume: potrivește exact textul capturat de grupul cu nume.
(?<w>\w+) \k<w> → the the
Grup atomic (PCRE): potrivește secvența o singură dată și nu face niciodată backtracking în el.
(?>a+)ab on aab → no match
Branch reset (PCRE): alternare în care fiecare ramură refolosește aceleași numere de grup.
(?|(cat)|(dog)) → \1 = dog
Flag-uri
Flag global: găsește fiecare potrivire în șir, nu doar prima.
/a/g on aaa → a, a, a
Flag case-insensitive: ignoră diferența dintre majuscule și minuscule la potrivire.
/Hi/i → hi
Flag multiline: tratează ^ și $ ca începutul și sfârșitul fiecărei linii.
/^a/m matches at the start of each line
Flag dotall: lasă punctul să potrivească și un salt de rând.
/a.b/s → a\nb
Flag unicode: tratează un pattern și intrarea lui ca puncte de cod unicode.
/\u{1F600}/u → 😀
Flag sticky: potrivește doar la poziția exactă setată de lastIndex.
/ab/y matches only at lastIndex
Flag de indici: adaugă poziția de început și de sfârșit a fiecărei potriviri la rezultat.
/b/d on abc → indices [1, 2]
Flag de seturi unicode: un u mai strict care permite și operații cu seturi în interiorul unei clase.
/[a-z&&[^aeiou]]/v → t
Flag extins (PCRE): ignoră whitespace-ul ne-escapat și comentariile # din interiorul pattern-ului.