Lezioni del modulo (3/4)
Negazione: `[^...]`
Mettere un accento circonflesso ^ come primo carattere dentro le quadre
inverte la classe: matcha qualunque carattere tranne quelli elencati.
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] matcha consonanti, spazi, punteggiatura, cifre\u2026 tutto cio' che
non e' una vocale.
Esempi tipici
[^\s]-- qualunque carattere "non spazio" (equivalente a\S).[^0-9]-- qualunque cosa che non sia una cifra (equivalente a\D).[^"]+-- "una sequenza di caratteri che non siano doppi apici" (utile per estrarre contenuti tra virgolette).
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.Il gruppo ([^"]+) cattura tutto cio' che sta tra virgolette fermandosi
prima del prossimo ": e' un trucco classico per evitare il problema
greedy-vs-lazy.
Negazione e caratteri jolly alternativi
La classe negata [^...] consuma esattamente un carattere che NON appartiene all'insieme elencato. È uno strumento formidabile per evitare che l'engine consumi delimitatori critici, prevenendo ReDoS dovuti a tentativi infiniti.
Prova tu
Estrai il contenuto di ogni stringa tra doppi apici, senza catturare gli apici stessi.
Mostra suggerimento
Sostituisci .+ con [^"]+: in questo modo il match si ferma al prossimo apice.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Trova tutte le parole composte SOLO da consonanti (niente vocali, niente cifre, niente simboli).
Mostra suggerimento
Dentro le quadre puoi combinare negazione di vocali con \\W (non-parola) e \\d (cifre).
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Matcha sequenze di uno o più caratteri escludendo esplicitamente spazi vuoti e virgole.
Mostra suggerimento
Usa [^\s,] con il quantificatore +.
Soluzione disponibile dopo 3 tentativi