Skip to content

Cheat Sheet Expresii Regulate

Potrivire caractere

[abc] Se potrivește cu oricare dintre caracterele a, b sau c
[^abc] Nu se potrivește cu caracterele a, b sau c. Simbolul „^” este eficient doar dacă apare ca primul caracter
[a-g] Se potrivește cu oricare caracter din intervalul a-g
[^a-g] Nu se potrivește cu niciun caracter din intervalul a-g
[H-N] Se potrivește cu oricare caracter din intervalul H-N
[0-9] Se potrivește cu oricare cifră din intervalul 0-9
[a-gH-N] Se potrivește cu oricare caracter din intervalele a-g sau H-N
Caractere generice:
. [^\n\r], se potrivește cu orice caracter, cu excepția rândului nou
\s Spațiu alb: rând nou, tabulator, spațiu etc.
\S [^\s] (Orice caracter care nu este spațiu alb)
\d Cifră: [0-9]
\D [^\d] (Orice caracter care nu este cifră)
\w Caracter de cuvânt: [0-9A-Za-z_]
\W [^\w] (Orice caracter care nu este de cuvânt)

Grupurile de potrivire

(a b)
(…) Grup de captură
(?:…) Grup de non-captură
(?<name>…) sau (?’name’…) Grup de captură numit, „name” poate fi personalizat
(?(condition)true_regex false_regex)

group(0) este utilizat pentru a obține întregul șir potrivit, în timp ce group(>0) poate extrage grupuri de captură secundare din rezultatul global.

Notă: grupurile de captură numite sunt acceptate începând cu Java 1.7 (prin transmiterea șirului „name” ca argument către metoda group). JS și Python nu acceptă momentan nativ grupurile de captură numite.

Interval de frecvență (Cuantificatori)

{3} Elementul anterior apare de exact 3 ori, echivalent cu {3,3}
{3,6} Elementul anterior apare de 3 până la 6 ori
{3,} Elementul anterior apare de cel puțin 3 ori
{0,6} Elementul anterior apare de cel mult 6 ori
Caractere generice:
* {0,} (Zero sau mai multe)
+ {1,} (Unul sau mai multe)
? {0,1} (Zero sau unul)
\w* Mod greedy (Lacom)
\w*? Mod non-greedy

Anchore (Indici de poziție)

^ Începutul șirului
$ Sfârșitul șirului
\b Boundary, graniță de cuvânt
\B Nu este o graniță de cuvânt
Aserțiuni de poziție (Lookaround):
(?=exp) Aserțiune pozitivă de căutare înainte (sufix exp)
(?<=exp) Aserțiune pozitivă de căutare înapoi (prefix exp)
(?!exp) Aserțiune negativă de căutare înainte (fără sufix exp)
(?<!exp) Aserțiune negativă de căutare înapoi (fără prefix exp)

\b(\w+)\b este echivalent cu (?<=\W?)(\w+)(?=\W?)