Proprietăți Unicode în RegEx (\p{Letter}, \p{Number}, \p{Emoji}) în Expresii Regulare (RegEx)

Clase de caractere ECMAScript (flag u/v) / PCRE / Python (regex) Q&A / Distribuie cod

Ghid complet pentru Unicode Property Escapes în RegEx: de ce clasa clasică [a-zA-Z] este perimată, suportul nativ pentru diacritice românești (ăîâșț), alfabete globale și emoji-uri.

Tipar RegEx
\p{L}+ | \p{N}+ | \p{Emoji} | \p{Script=Latin}

În web-ul globalizat de astăzi, presupunerea că un nume de utilizator sau un text conține doar caractere ASCII ([a-zA-Z]) este cauza principală pentru care formularele resping pe nedrept nume românești cu diacritice („Mihai Ștefan”) sau nume internaționale. Unicode Property Escapes (secvențele \p{...}) permit clasificarea caracterelor pe baza proprietăților oficiale din standardul Unicode.

Clasa clasică ASCII vs. Proprietăți Unicode \p{L}
// METODA VECHE (Eșuează pe diacritice românești!):
^[a-zA-Z\s]+$
// Testat pe "Bogdan Chișinău" -> EȘUEAZĂ din cauza lui 'ș' și 'ă'!

// METODA MODERNĂ CU PROPRIETĂȚI UNICODE:
^[\p{L}\s]+$   # \p{L} = Orice literă din orice alfabet din lume!
// Testat pe "Bogdan Chișinău" -> VALID 100%!
// Testat pe "René François"     -> VALID 100%!

Categorii Majore de Proprietăți Unicode

Proprietate Nume Categorie Ce Potrivește
\p{L} (sau \p{Letter}) Litere Orice literă (majusculă, minusculă, diacritică) din latină, chirilică, greacă, arabă, chineză etc.
\p{Lu} Uppercase Letter Doar litere majuscule (inclusiv Ș, Ț, Ă, Î, Â).
\p{Ll} Lowercase Letter Doar litere minuscule (inclusiv ș, ț, ă, î, â).
\p{N} (sau \p{Number}) Numere Orice caracter numeric (cifre arabe 0-9, cifre romane, fracții Unicode ½).
\p{P} (sau \p{Punctuation}) Punctuație Semne de punctuație globale (ghilimele, paranteze, virgule, puncte).
\p{Sc} Currency Symbol Simboluri monetare: $, €, £, ¥ etc.
Filtrare după alfabet cu Script
// Potrivește exclusiv cuvinte scrise în alfabetul latin (inclusiv diacritice):
^\p{Script=Latin}+$

// Negarea proprietăților cu \P (majusculă):
\P{L} # Orice caracter care NU este o literă!
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Proprietăți Unicode în RegEx (\p{Letter}, \p{Number}, \p{Emoji})

Ai o nelămurire despre utilizarea comenzii Proprietăți Unicode în RegEx (\p{Letter}, \p{Number}, \p{Emoji}) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.