Lezioni del modulo (2/4)
Classi base: \d \w \s
Oltre ai caratteri letterali, le regex ti danno delle classi predefinite: shortcut per "qualunque cifra", "qualunque carattere di parola", "qualunque spazio". Sono il primo passo verso pattern davvero utili.
| Classe | Matcha |
|---|---|
\d | Una cifra (0-9) |
\w | Un carattere di parola (A-Za-z0-9_) |
\s | Uno spazio (spazio, tab, newline, ecc.) |
\D | NON una cifra |
\W | NON un carattere di parola |
\S | NON uno spazio |
Ognuna matcha un singolo carattere. Per matchare "uno o piu' caratteri"
servono i quantificatori (+, modulo 2), ma il + lo useremo da subito qui
perche' "trovami tutti i numeri" e' troppo utile per aspettare.
Pattern: \d+
Sample: Ho 3 mele, 12 pere e 100 prugne.
^ ^^ ^^^\d+ significa una o piu' cifre consecutive: matcha 3, 12 e 100
come tre match distinti (con la flag g).
\w: caratteri di parola
\w e' equivalente a [A-Za-z0-9_] (lettere ASCII, cifre, underscore). NON
include accenti, lettere greche o emoji: per quelli servono le Unicode
property escapes (\p{L}, modulo 5).
Approfondimento sulle classi base e negazioni
Le classi predefinite \\d, \\w, \\s velocizzano la scrittura. Le versioni maiuscole (\\D, \\W, \\S) negano l'intero insieme. Ad esempio, \\S+ cattura qualunque blocco di testo privo di spazi (come intere parole comprese di punteggiatura).
L'engine gestisce \\s considerando non solo lo spazio classico, ma anche le tabulazioni (\\t) e i caratteri di a capo (\\n o \\r).
Prova tu
Estrai dal testo tutte le sequenze di cifre consecutive (numeri). Usa la classe `\\d` con il quantificatore `+`.
Mostra suggerimento
\\d+ cattura uno o piu' cifre. Con la flag g raccogli tutti i match.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Trova ogni 'parola' nel testo: una sequenza continua di caratteri di parola (`\\w+`).
Mostra suggerimento
\\w+ matcha sequenze di lettere/cifre/underscore. La punteggiatura viene saltata.
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Trova tutte le sequenze di uno o più spazi vuoti consecutivi nel testo (inclusi spazi, tabulazioni e caratteri di a capo).
Mostra suggerimento
Usa la classe \s con il quantificatore + per catturare sequenze di spazi consecutivi.
Soluzione disponibile dopo 3 tentativi