Vai al contenuto
eLearner.app
Modulo 5 · Lezione 4 di 420/32 nel corso~12 min
Lezioni del modulo (4/4)

Unicode property escapes

Le classi \w, \d, \s in ASCII non bastano per testi in italiano, francese, greco o emoji. JavaScript moderno (con la flag u -- Unicode) ti offre i property escapes \p{...}: classi semantiche basate sulle proprieta' Unicode dei caratteri.

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

\p{L} = "qualunque Letter (Unicode)": include lettere accentate, ideogrammi cinesi, cirillico, greco\u2026 tutto. Le piu' usate:

  • \p{L} -- lettera (di qualsiasi alfabeto).
  • \p{N} -- numero (cifre arabe, romane, indiane\u2026).
  • \p{P} -- punteggiatura.
  • \p{S} -- simbolo (matematico, valuta, emoji\u2026).
  • \p{Z} -- spazio/separator.
  • \p{Script=Latin} -- specificamente alfabeto latino.
  • \p{Script=Greek} -- alfabeto greco. E cosi' via.

E le versioni negate \P{L}, \P{N}, \u2026

Differenza con \w e \d

Code
\\w matcha [A-Za-z0-9_]               -- solo ASCII, niente "caffe'"
\\p{L}\\p{N}_  con flag u             -- include caratteri accentati

Per un parser robusto di testi italiani, preferisci \p{L} a \w: citta', perche', andro' matchano correttamente come parole.

Unicode properties e compatibilità browser

Le proprietà Unicode come \\p{L} (Lettere) o \\p{Script=Latin} estendono le classi a tutti gli alfabeti internazionali. In JavaScript, richiedono obbligatoriamente l'attivazione della flag u (o v), altrimenti l'engine genererà un errore di sintassi.

Prova tu

Esercizio#regex.m5.l4.e1
Tentativi: 0Caricamento…

Trova ogni parola, includendo quelle con accenti (citta', perche', e' \u2026). Usa il property escape \\p{L} con flag u.

Caricamento editor…
Mostra suggerimento

Sostituisci \\w+ con \\p{L}+ e aggiungi la flag u (oltre a g).

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#regex.m5.l4.e2
Tentativi: 0Caricamento…

Trova ogni simbolo Unicode (valute, matematica, emoji) nel testo, escludendo lettere e cifre.

Caricamento editor…
Mostra suggerimento

\\p{S} matcha la categoria Symbol di Unicode. Ricorda la flag u.

Soluzione disponibile dopo 3 tentativi

Sfida aggiuntiva

Esercizio#regex.m5.l4.e3
Tentativi: 0Caricamento…

Trova tutte le parole composte da lettere dell'alfabeto Cirillico usando `p{Script=Cyrillic}`.

Caricamento editor…
Mostra suggerimento

Usa \p{Script=Cyrillic} con il quantificatore + e la flag u.

Soluzione disponibile dopo 3 tentativi