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.
| Classe | Correspond à |
|---|---|
\d | Un chiffre (0-9) |
\w | Un caractère de mot (A-Za-z0-9_) |
\s | Un espace (espace, tabulation, saut de ligne, etc.) |
\D | PAS un chiffre |
\W | PAS un caractère de mot |
\S | PAS 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.
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
Extrayez chaque séquence de chiffres consécutifs (nombres) du texte. Usa la classe `\d` avec le quantificateur `+`.
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
Trouvez chaque 'mot' dans le texte : une séquence continue de caractères de mot (`\w+`).
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
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).
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