Leçons du module (2/4)
Plages dans les classes : `[a-z0-9]`
Lister chaque caractère un par un est fastidieux. Les classes acceptent les plages (ranges) avec le trait d'union - : [a-z] correspond à n'importe quelle lettre minuscule, [0-9] à un chiffre, [A-Z] à una lettre majuscule.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^La plage utilise l'ordre des points de code (essentiellement ASCII pour les caractères latins) : a-z signifie "chaque caractère du point de code de a au point de code de z", soit 26 lettres.
Combiner les plages
Au sein d'une même classe, vous pouvez mélanger plusieurs plages et des caractères individuels :
[a-zA-Z0-9_] identique à \w (en ASCII)
[a-fA-F0-9] chiffres hexadécimaux
[0-9.] chiffres ou le point (pour les nombres décimaux)L'ordre n'a pas d'importance : [0-9a-z] et [a-z0-9] sont identiques.
Les plages et l'ordre des caractères ASCII
Les plages comme [a-z] suivent strictement l'ordre des caractères de la table ASCII. Écrire une plage invalide, comme [z-a], déclenchera une erreur de compilation de la regex. Un trait d'union littéral doit être placé au début ou à la fin : [a-z-].
À vous de jouer
Trouvez chaque séquence hexadécimale de 6 caractères (ex. le code couleur #1a2b3c). Les chiffres vont de 0 à 9, les lettres de a à f (majuscules ou minuscules).
Afficher l'indice
Ajoutez A-F à la plage, ou utilisez le drapeau i.
Solution disponible après 3 tentatives
Exercice de révision
Trouvez chaque code produit composé de 3 lettres majuscules suivies de 4 chiffres (ex. ABC1234).
Afficher l'indice
Pour les chiffres, vous pouvez utiliser \d ou la plage [0-9] : cet exercice nécessite [0-9] explicite.
Solution disponible après 3 tentatives
Défi supplémentaire
Trouvez les caractères hexadécimaux dans le texte (chiffres 0-9 et lettres A-F, majuscules et minuscules).
Afficher l'indice
Combinez trois plages : 0-9, a-f, A-F.
Solution disponible après 3 tentatives