Lezioni del modulo (2/4)
Range nelle classi: `[a-z0-9]`
Elencare tutti i caratteri uno a uno e' tedioso. Le classi accettano range
con il trattino -: [a-z] matcha una qualunque lettera minuscola, [0-9]
una cifra, [A-Z] una maiuscola.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^Il range usa l'ordine dei code point (sostanzialmente ASCII per i caratteri
latini): a-z significa "tutti i caratteri dal code point di a al code
point di z", quindi 26 lettere.
Combinare range
Dentro una sola classe puoi mettere piu' range e singoli caratteri:
[a-zA-Z0-9_] identico a \\w (in ASCII)
[a-fA-F0-9] cifre esadecimali
[0-9.] cifre o il punto (per numeri decimali)L'ordine non conta: [0-9a-z] e [a-z0-9] sono identici.
Range e ordine dei caratteri ASCII
I range come [a-z] seguono rigidamente l'ordine dei caratteri nella tabella ASCII. Scrivere un range non valido, come [z-a], causerà un errore di compilazione della regex. Il trattino letterale va posto alla fine o all'inizio: [a-z-].
Prova tu
Trova ogni sequenza esadecimale di 6 caratteri (es. il codice colore #1a2b3c). Le cifre vanno da 0 a 9, le lettere da a a f (maiuscole o minuscole).
Mostra suggerimento
Aggiungi A-F al range, oppure usa la flag i.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Trova ogni codice prodotto fatto da 3 lettere maiuscole seguite da 4 cifre (es. ABC1234).
Mostra suggerimento
Per le cifre puoi usare \\d oppure il range [0-9]: questo esercizio richiede [0-9] esplicito.
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Trova i caratteri esadecimali nel testo (cifre da 0 a 9 e lettere da A a F, sia maiuscole che minuscole).
Mostra suggerimento
Combina i tre range: 0-9, a-f, A-F.
Soluzione disponibile dopo 3 tentativi