Salt la conținutul principal
Modulul 5 · Lecția 4 din 420/32 în curs~12 min
Lecții din modul (4/4)

Proprietatea Unicode scapă

Clasele \w, \d, \s în ASCII nu sunt suficiente pentru italiană, franceză, greacă sau text emoji. JavaScript modern (cu marcajul u -- Unicode) oferă Property escapes \p{...}: clase semantice bazate pe Unicode proprietățile personajelor.

Code
Pattern: \p{L}+        (with flag u)
Sample:  Ciao caffe' \u00fcber \u4e16\u754c
         ^^^^ ^^^^^^^ ^^^^ ^^^^

\p{L} = „orice literă (Unicode)”: include litere accentuate, chineză ideograme, chirilice, greacă\u2026 totul. Cele mai comune:

  • \p{L} -- literă (din orice alfabet).
  • \p{N} -- număr (cifre arabe, romane, indiene\u2026).
  • \p{P} -- punctuație.
  • \p{S} -- simbol (matematic, valutar, emoji\u2026).
  • \p{Z} -- spațiu/separator.
  • \p{Script=Latin} -- în special alfabetul latin.
  • \p{Script=Greek} -- alfabetul grecesc. Și așa mai departe.

Și versiunile negate \P{L}, \P{N}, \u2026

Diferența cu \w și \d

Code
\\w matches [A-Za-z0-9_]              -- ASCII only, no "caffe'"
\\p{L}\\p{N}_  with flag u            -- includes accented characters

Pentru un parser robust al textului italian, preferați \p{L} față de \w: citta', perche', andro' se potrivesc corect ca cuvinte.

Proprietăți Unicode și compatibilitate cu browserul

Proprietățile Unicode precum \\p{L} (Litere) sau \\p{Script=Latin} extind clasele la alfabetele internaționale. În JavaScript, necesită strict indicatorul u (sau v), altfel motorul aruncă o eroare de sintaxă.

Încearcă

Exercițiu#regex.m5.l4.e1
Încercări: 0Se încarcă…

Găsiți fiecare cuvânt, inclusiv pe cei cu accente (citta', perche', e' \u2026). Utilizați proprietatea de escape \\p{L} cu flag u.

Se încarcă editorul...
Afișează indiciu

Înlocuiți \\w+ cu \\p{L}+ și adăugați steagul u (în plus față de g).

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#regex.m5.l4.e2
Încercări: 0Se încarcă…

Găsiți fiecare simbol Unicode (monede, matematică, emoji) din text, cu excepția literelor și cifrelor.

Se încarcă editorul...
Afișează indiciu

\\p{S} se potrivește cu categoria Simbol din Unicode. Amintiți-vă de steagul u.

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#regex.m5.l4.e3
Încercări: 0Se încarcă…

Găsiți toate cuvintele formate din litere chirilice folosind `\p{Script=Chirilic}`.

Se încarcă editorul...
Afișează indiciu

Folosiți \\p{Script=Chirilic} cu cuantificatorul + și steagul u.

Soluție disponibilă după 3 încercări