Ce face \d și \D (cifre)
Secvența \d (de la digit) potrivește o singură cifră din intervalul 0-9, fiind echivalentă cu setul [0-9]. Este una dintre cele mai folosite scurtături în expresiile regulare pentru extragerea numerelor, anilor, prețurilor, codurilor poștale sau CNP-urilor.
Varianta cu literă mare, \D (non-digit), este exact opusul: potrivește orice caracter care nu este o cifră (echivalent cu [^0-9]). În RegEx, convenția literă mică = clasă pozitivă, literă mare = negația clasei se aplică pentru \d/\D, \w/\W, \s/\S și \b/\B.
Variante și sintaxă asociată
| Expresie / Simbol | Descriere |
|---|---|
\d |
O singură cifră (echivalent cu [0-9]). |
\D |
Orice caracter care NU este cifră: litere, spații, punctuație (echivalent cu [^0-9]). |
\d+ |
Un număr întreg pozitiv format din una sau mai multe cifre consecutive. |
\d{4} |
Exact 4 cifre (util pentru ani, ex. 2026, sau ultimele 4 cifre ale unui card). |
\d+(?:[.,]\d+)? |
Număr întreg sau zecimal cu virgulă ori punct (ex. 120, 49.99, 19,50). |
Exemple
Exemplul 1: Extragerea tuturor numerelor dintr-o propoziție
Combinăm \d cu cuantificatorul + pentru a extrage secvențe complete de cifre.
Expresie: /\d+/g
Text: "Comanda #4821 conține 3 produse în valoare de 259 RON."
Potriviri găsite (Matches)
Match 1: "4821"
Match 2: "3"
Match 3: "259"
Exemplul 2: Curățarea unui număr de telefon cu \D
Înlocuind tot ce potrivește \D+ cu șirul vid, păstrăm exclusiv cifrele dintr-un număr formatat.
// JavaScript:
const raw = "+40 (722) 123-456";
const doarCifre = raw.replace(/\D+/g, "");
Potriviri găsite (Matches)
"40722123456"
Greșeli frecvente
- Folosirea lui
\dsingur când de fapt vrei un număr întreg cu mai multe cifre (\dgăsește fiecare cifră separat; folosește\d+pentru numărul întreg). - În PHP sau Python cu flag-ul Unicode activat (
/u),\dpoate potrivi și cifre din alte alfabete (ex. cifre arabe orientale٠١٢٣). Dacă vrei strict cifre ASCII, folosește[0-9].
Simboluri și rețete înrudite
\w și \W (caractere de cuvânt): Potrivește litere, cifre și caracterul underscore [a-zA-Z0-9_] (\w) sau opusul acestora (\W).\s și \S (spații albe): Potrivește orice caracter de spațiere: spațiu, tab, linie nouă (\s) sau orice caracter vizibil (\S).[abc] și [a-z0-9] (seturi și intervale): Definește o clasă personalizată de caractere din care se potrivește un singur caracter.{n}, {n,} și {n,m} (număr exact de repetiții): Controlează precis de câte ori trebuie să se repete un caracter sau un grup: exact n, minim n sau între n și m ori.