Skip to content

Tokenuri regex explicate

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.

Tabel de referință · 55 intrăriDeschide instrumentul regex-tester →
55 of 55 rows
Ancore
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./a b/x → ab