Passer au contenu principal
eLearner.app
Module 5 · Leçon 3 sur 419/32 dans le cours~8 min
Leçons du module (3/4)

Négation : `[^...]`

Mettez un caret ^ comme premier caractère à l'intérieur des carrés inverse la classe : correspond à n'importe quel caractère sauf ceux répertoriés.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] correspond aux consonnes, aux espaces, à la ponctuation, aux chiffres \u2026 tout ce qui not est une voyelle.

Exemples typiques

  • [^\s] -- tout caractère "non-espace" (équivalent à \S).
  • [^0-9] -- tout autre chose qu'un chiffre (équivalent à \D).
  • [^"]+ -- "une séquence de caractères qui ne sont pas des guillemets doubles" (utile pour extraire le contenu entre guillemets).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

Le groupe ([^"]+) capture tout entre guillemets arrêt avant le suivant " : c'est une astuce classique pour éviter le problème gourmand contre paresseux.

Négation et caractères génériques alternatifs

La classe niée [^...] consomme exactement un caractère qui n'appartient PAS à l'ensemble répertorié. C'est un excellent outil pour empêcher le moteur de consommer des délimiteurs critiques, empêchant ainsi les ReDoS dus à des tentatives infinies.

Essayez-le vous-même

Exercice#regex.m5.l3.e1
Tentatives : 0Chargement…

Estrai il contenuto di ogni stringa tra doppi apici, senza catturare gli apici stessi.

Chargement de l'éditeur…
Afficher l'indice

Sostituisci .+ con [^"]+: in questo modo il match si ferma al prossimo apice.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#regex.m5.l3.e2
Tentatives : 0Chargement…

Trova tutte le parole composte SOLO da consonanti (niente vocali, niente cifre, niente simboli).

Chargement de l'éditeur…
Afficher l'indice

Dentro le quadre puoi combinare negazione di vocali con \\W (non-parola) e \\d (cifre).

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#regex.m5.l3.e3
Tentatives : 0Chargement…

Matcha sequenze di uno o più caratteri escludendo esplicitamente spazi vuoti e virgole.

Chargement de l'éditeur…
Afficher l'indice

Usa [^\s,] con il quantificatore +.

Solution disponible après 3 tentatives