Passer au contenu principal
eLearner.app
Module 1 · Leçon 2 sur 42/32 dans le cours~10 min
Leçons du module (2/4)

Classes de base : \d \w \s

Au-delà des caractères littéraux, les regex vous offrent des classes prédéfinies : des raccourcis pour "n'importe quel chiffre", "n'importe quel caractère de mot", "n'importe quel espace". C'est le premier pas vers des motifs vraiment utiles.

ClasseCorrespond à
\dUn chiffre (0-9)
\wUn caractère de mot (A-Za-z0-9_)
\sUn espace (espace, tabulation, saut de ligne, etc.)
\DPAS un chiffre
\WPAS un caractère de mot
\SPAS un espace

Chacune correspond à un seul caractère. Pour faire correspondre "un ou plusieurs caractères", vous avez besoin de quantificateurs (+, dans le module 2), mais nous utiliserons + immédiatement car "trouver tous les nombres" est trop utile pour attendre.

Code
Pattern: \d+
Sample:  Ho 3 mele, 12 pere e 100 prugne.
            ^      ^^      ^^^

\d+ signifie un ou plusieurs chiffres consécutifs : il correspond à 3, 12 et 100 comme trois correspondances distinctes (avec le drapeau g).

\w : caractères de mot

\w correspond à [A-Za-z0-9_] (lettres ASCII, chiffres, trait d'union bas). Il n'inclut pas les accents, les lettres grecques ou les emojis : pour ceux-ci, vous avez besoin des échappements de propriétés Unicode (\p{L}, module 5).

Zoom sur les classes de base et négations

Les classes prédéfinies \d, \w, \s accélèrent l'écriture du code. Les versions en majuscules (\D, \W, \S) nient l'ensemble. Par exemple, \S+ capture tout bloc de texte dépourvu d'espaces (comme des mots entiers y compris la ponctuation). Le moteur gère \s en faisant correspondre non seulement l'espace standard, mais aussi les tabulations (\t) et les sauts de ligne (\n ou \r).

À vous de jouer

Exercice#regex.m1.l2.e1
Tentatives : 0Chargement…

Extrayez chaque séquence de chiffres consécutifs (nombres) du texte. Usa la classe `\d` avec le quantificateur `+`.

Chargement de l'éditeur…
Afficher l'indice

\d+ capture un ou plusieurs chiffres. Avec le drapeau g vous collectez chaque correspondance.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#regex.m1.l2.e2
Tentatives : 0Chargement…

Trouvez chaque 'mot' dans le texte : une séquence continue de caractères de mot (`\w+`).

Chargement de l'éditeur…
Afficher l'indice

\w+ correspond aux séquences de lettres/chiffres/trait d'union bas. La ponctuation est ignorée.

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#regex.m1.l2.e3
Tentatives : 0Chargement…

Trouvez toutes les séquences d'un ou plusieurs espaces consécutifs dans le texte (y compris les espaces, les tabulations et les sauts de ligne).

Chargement de l'éditeur…
Afficher l'indice

Utilisez la classe \s avec le quantificateur + pour capturer les séquences d'espaces consécutifs.

Solution disponible après 3 tentatives