À retenir
- Une classe se définit toujours entre crochets
[ ]. - Elle ne capture qu'un seul caractère à la fois parmi la liste proposée.
- Le tiret
-permet de créer des plages (intervalles) simplifiées.
Une classe de caractères est un outil utilisé dans les expressions régulières (Regex) pour définir un groupe de caractères parmi lesquels un seul doit être trouvé. On peut la comparer à une liste de choix : au lieu de chercher une lettre précise, on indique à l'ordinateur de chercher 'n'importe laquelle des voyelles' ou 'n'importe quel chiffre'.
Étymologie
Traduction directe de l'anglais character class. Le mot 'classe' exprime ici l'idée d'une catégorie ou d'un ensemble logique regroupant des éléments partageant une caractéristique commune.
Exemples d'usage
[aeiouy]: correspond à n'importe quelle voyelle minuscule.[0-9]: utilise un tiret pour définir un intervalle, ici tous les chiffres de 0 à 9.[A-Z]: correspond à n'importe quelle lettre majuscule de l'alphabet.[a-zA-Z0-9]: une classe combinée pour trouver n'importe quel caractère alphanumérique.
Cas d'usage
On utilise les classes de caractères principalement lors de la validation de formulaires (vérifier qu'un code postal ne contient que des chiffres) ou lors de la recherche de données spécifiques dans de gros fichiers textes (extraire des dates ou des identifiants spécifiques).
Bonnes pratiques
Utilisez les raccourcis quand ils existent (comme d pour les chiffres) pour rendre votre code plus lisible. Faites attention à l'ordre dans les intervalles : [z-a] provoquera généralement une erreur car l'ordre alphabétique n'est pas respecté. N'oubliez pas que le symbole ^ placé au tout début d'une classe (ex: [^0-9]) permet d'exclure ces caractères (cherche tout sauf un chiffre).
Synonymes
Antonymes
Conseil
Si vous débutez, testez vos classes de caractères sur des outils en ligne comme Regex101. Cela permet de voir en temps réel quels caractères de votre texte sont sélectionnés par votre classe.
Questions fréquentes
Quelle est la différence entre [abc] et (abc) ?
[abc] signifie 'a OU b OU c' (un seul caractère), tandis que (abc) cherche la séquence exacte 'abc' dans cet ordre précis.
Comment inclure un crochet dans une classe de caractères ?
Il faut généralement l'échapper avec une barre oblique inversée, comme ceci : [\] pour chercher un crochet fermant.