Regex pour débutants : apprendre les expressions régulières en 10 exemples
Les expressions régulières ont l'air cryptiques, mais une douzaine de symboles couvrent 90 % des usages. Apprenez les bases des regex avec des exemples concrets — emails, téléphones, dates — et testez-les en direct.
Qu'est-ce qu'une regex ?
Une expression régulière (regex) est un motif qui décrit un ensemble de chaînes de caractères. Au lieu de chercher un mot exact, vous décrivez sa forme : « deux chiffres, un point, deux chiffres », « un mot qui commence par une majuscule », « tout ce qui se trouve entre deux guillemets ».
Les regex sont partout : validation de formulaires, rechercher / remplacer dans les éditeurs de code, analyse de logs, nettoyage de données, routage dans les frameworks web. Elles paraissent cryptiques au début, mais un petit nombre de symboles couvre la plupart des usages.
Les briques de base
Caractères et classes
| Symbole | Correspond à | Exemple |
|---|---|---|
abc | Le texte exact « abc » | chat trouve « chat » dans « achats » |
. | N'importe quel caractère (sauf retour à la ligne) | c.t → cat, cet, c9t |
\d | Un chiffre (0–9) | \d\d → 42 |
\w | Une lettre, un chiffre ou un tiret bas | \w+ → un mot |
\s | Un espace, une tabulation ou un retour à la ligne | a\sb → « a b » |
[abc] | Un des caractères listés | gr[ia]s → gris, gras |
[a-z] | Un caractère de l'intervalle | [A-Z] → une majuscule |
[^abc] | Tout caractère sauf ceux-là | [^0-9] → pas un chiffre |
Quantificateurs
| Symbole | Signification | Exemple |
|---|---|---|
* | 0 fois ou plus | ab*c → ac, abc, abbbc |
+ | 1 fois ou plus | \d+ → 7, 42, 2026 |
? | 0 ou 1 fois (facultatif) | chats? → chat, chats |
{3} | Exactement 3 fois | \d{3} → 123 |
{2,4} | Entre 2 et 4 fois | \d{2,4} → 12, 123, 1234 |
Ancres et groupes
| Symbole | Signification |
|---|---|
^ | Début du texte (ou de la ligne avec le drapeau m) |
$ | Fin du texte (ou de la ligne) |
\b | Limite de mot |
( ) | Groupe de capture : extrait une partie de la correspondance |
La barre verticale signifie « ou » : chat|chien correspond à « chat » ou « chien ».
Testez vos regex en direct
Le testeur de regex surligne les correspondances pendant la frappe, affiche les groupes de capture et inclut un aide-mémoire. Il utilise le moteur JavaScript, le même que votre navigateur et Node.js. Vos motifs s'exécutent dans un worker séparé avec une limite de temps : une regex mal écrite ne peut pas figer la page.
Testeur de regex
Testez vos expressions régulières en temps réel, groupes compris.
Essayer gratuitement10 exemples pratiques
- Un nombre entier :
^\d+$ - Un nombre décimal (avec point ou virgule) :
^\d+([.,]\d+)?$ - Une vérification simple d'email :
^[^\s@]+@[^\s@]+\.[^\s@]+$ - Un code postal français :
^\d{5}$ - Un numéro de mobile français :
^0[67](\s?\d{2}){4}$ - Une date au format JJ/MM/AAAA :
^\d{2}/\d{2}/\d{4}$ - Une heure au format 24 h :
^([01]\d|2[0-3]):[0-5]\d$ - Une couleur hexadécimale :
^#([0-9a-fA-F]{3}){1,2}$ - Les doubles espaces à nettoyer :
\s{2,}(à remplacer par un seul espace) - Les mots en majuscules (sigles) :
\b[A-Z]{2,}\b
Ne validez pas tout avec une regex
Une regex peut vérifier la forme d'un email, pas que l'adresse existe. Pour les dates, une regex accepte « 31/02/2026 » : vérifiez la valeur réelle dans le code. Les regex sont un premier filtre, pas une validation complète.
Les drapeaux
Les drapeaux (flags) modifient le comportement de tout le motif :
- g (global) : trouve toutes les correspondances, pas seulement la première.
- i (insensible à la casse) : ignore majuscules et minuscules.
- m (multiligne) :
^et$correspondent au début et à la fin de chaque ligne. - s (dotAll) : le point correspond aussi aux retours à la ligne.
Les erreurs classiques du débutant
- Oublier d'échapper les caractères spéciaux : pour chercher un point littéral, écrivez
\., pas.. - Oublier les ancres :
\d{5}correspond aussi à l'intérieur de « 123456789 ». Utilisez^\d{5}$pour valider un champ entier. - Les quantificateurs gourmands :
".*"sur"a" et "b"capture tout du premier au dernier guillemet. Utilisez la version paresseuse".*?". - Les quantificateurs imbriqués comme
(a+)+: ils peuvent prendre un temps exponentiel sur certains textes (backtracking catastrophique).
Utiliser les regex sans écrire de code
Plusieurs outils texte d'AwesomeToolkit acceptent les regex : rechercher / remplacer pour transformer un texte en masse (groupes de capture compris dans le remplacement), et la recherche dans un texte pour trouver et compter toutes les occurrences.
Conclusion
Inutile de mémoriser toute la syntaxe : les classes (\d, \w, [...]), les quantificateurs (+, *, ?, {n}) et les ancres (^, $) couvrent l'immense majorité des besoins. Écrivez le motif, testez-le en direct sur de vrais exemples, et ajustez jusqu'à ce que chaque cas soit correct.
Partager cet article
Articles similaires
Formater et valider du JSON (et corriger les 7 erreurs les plus courantes)
Un JSON illisible sur une seule ligne ? Une erreur « Unexpected token » ? Apprenez à indenter, valider et minifier du JSON, et à corriger les erreurs de syntaxe les plus fréquentes.
Le JWT expliqué : comment fonctionnent les JSON Web Tokens (avec exemples)
Ce que contient un JWT, comment fonctionne la signature, ce que signifient les claims exp, iat et sub, et les erreurs de sécurité à éviter — avec un exemple décodé.
Transformer du code en belle image (pour vos slides, docs et réseaux sociaux)
Partagez du code sur LinkedIn, X ou dans une présentation sous forme d'image nette et colorée plutôt qu'en capture floue. Thèmes, fonds, conseils de lisibilité — et pourquoi toujours fournir aussi la version texte.