Lezioni del modulo (1/4)
Tutti i flag in dettaglio
Riepilogo completo di tutte le flag disponibili in JavaScript moderno (ES2024). Una flag e' un singolo carattere che modifica il comportamento della regex; si combinano in qualsiasi ordine.
| Flag | Nome | Effetto |
|---|---|---|
g | Global | Trova tutti i match, non solo il primo (necessaria per matchAll). |
i | Ignore case | Insensibile a maiuscole/minuscole (incl. caratteri Unicode con flag u/v). |
m | Multiline | ^ e $ matchano inizio/fine riga, non solo stringa. |
s | Dot all | Il . matcha anche newline \n. |
u | Unicode | Trattamento corretto di code point > 0xFFFF e abilita \\p{...}. |
v | Unicode v-mode | Estensione moderna di u con set operations ([abc&&[def]]). |
y | Sticky | Match solo dalla posizione lastIndex, niente skip. |
d | Has indices | Il risultato include indices con start/end di ogni gruppo. |
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (sempre in ordine canonico: dgimsuvy)Combinazioni tipiche
g+i-- "trova tutto, case-insensitive". L'80% degli usi pratici.g+m-- per matchare riga per riga in un testo multilinea.g+s-- "il punto matcha tutto, anche newline". Utile per estrarre blocchi su piu' righe.u(ov) -- sempre se hai a che fare con testi reali in italiano o emoji.
Unicode v-mode ed evoluzione dei flag
La flag v (disponibile in ES2024) sostituisce u e abilita operazioni avanzate sugli insiemi, come l'intersezione e la sottrazione di classi di caratteri (es. [\\p{White_Space}&&\\p{ASCII}]).
Prova tu
Trova tutte le occorrenze di 'ciao' indipendentemente da maiuscole/minuscole. Usa la flag corretta.
Mostra suggerimento
Aggiungi la flag i (case-insensitive) accanto a g.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Trova un blocco fra `<pre>` e `</pre>` anche se contiene newline. Devi usare la flag che fa matchare il punto anche ai newline.
Mostra suggerimento
Aggiungi la flag s perche' . matchi anche newline, e usa lazy .+? per fermarsi alla prima </pre>.
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Matcha sequenze di caratteri ASCII escludendo esplicitamente le cifre usando le proprietà Unicode v-mode (flag `v`) e la sintassi di sottrazione dei set `[\p{ASCII}--\p{Nd}]+`.
Mostra suggerimento
Usa la flag v e scrivi la sottrazione di set [\p{ASCII}--\p{Nd}]+ per escludere i numeri.
Soluzione disponibile dopo 3 tentativi