Leçons du module (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.
Afficher l'indice
Sostituisci .+ con [^"]+: in questo modo il match si ferma al prossimo apice.
Solution disponible après 3 tentatives
Esercizio di ripasso
Trova tutte le parole composte SOLO da consonanti (niente vocali, niente cifre, niente simboli).
Afficher l'indice
Dentro le quadre puoi combinare negazione di vocali con \\W (non-parola) e \\d (cifre).
Solution disponible après 3 tentatives
Sfida aggiuntiva
Matcha sequenze di uno o più caratteri escludendo esplicitamente spazi vuoti e virgole.
Afficher l'indice
Usa [^\s,] con il quantificatore +.
Solution disponible après 3 tentatives