Lekcje modułu (3/4)
Negacja: `[^...]`
Umieść daszek ^ jako pierwszy znak wewnątrz kwadratów
odwraca klasę: dopasowuje dowolny znak z wyjątkiem wymienionych.
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] dopasowuje spółgłoski, spacje, znaki interpunkcyjne, cyfry\u2026 wszystko, co
nie jest samogłoską.
Typowe przykłady
[^\s]-- dowolny znak inny niż spacja (odpowiednik\S).[^0-9]-- cokolwiek innego niż cyfra (odpowiednik\D).[^"]+-- "ciąg znaków niebędący cudzysłowem" (przydatne w przypadku wyodrębnij treść w cudzysłowie).
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.Grupa ([^"]+) umieszcza wszystko w cudzysłowie zatrzymując się
przed następnym ": to klasyczny trik pozwalający uniknąć problemu
chciwy kontra leniwy.
Negacja i alternatywne symbole wieloznaczne
Zanegowana klasa [^...] zużywa dokładnie jeden znak, który NIE należy do wymienionego zestawu. Jest to doskonałe narzędzie zapobiegające zużywaniu przez silnik krytycznych ograniczników, zapobiegając ReDoS z powodu nieskończonych prób.
Spróbuj sam
Estrai il contenuto di ogni stringa tra doppi apici, senza catturare gli apici stessi.
Pokaż wskazówkę
Sostituisci .+ con [^"]+: in questo modo il match si ferma al prossimo apice.
Rozwiązanie dostępne po 3 próbach
Przejrzyj ćwiczenie
Trova tutte le parole composte SOLO da consonanti (niente vocali, niente cifre, niente simboli).
Pokaż wskazówkę
Dentro le quadre puoi combinare negazione di vocali con \\W (non-parola) e \\d (cifre).
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
Matcha sequenze di uno o più caratteri escludendo esplicitamente spazi vuoti e virgole.
Pokaż wskazówkę
Usa [^\s,] con il quantificatore +.
Rozwiązanie dostępne po 3 próbach