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.
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
\\w matcha [A-Za-z0-9_] -- solo ASCII, niente "caffe'"
\\p{L}\\p{N}_ con flag u -- include caratteri accentatiPer 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
Trova ogni parola, includendo quelle con accenti (citta', perche', e' \u2026). Usa il property escape \\p{L} con flag u.
Mostra suggerimento
Sostituisci \\w+ con \\p{L}+ e aggiungi la flag u (oltre a g).
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Trova ogni simbolo Unicode (valute, matematica, emoji) nel testo, escludendo lettere e cifre.
Mostra suggerimento
\\p{S} matcha la categoria Symbol di Unicode. Ricorda la flag u.
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Trova tutte le parole composte da lettere dell'alfabeto Cirillico usando `p{Script=Cyrillic}`.
Mostra suggerimento
Usa \p{Script=Cyrillic} con il quantificatore + e la flag u.
Soluzione disponibile dopo 3 tentativi