Il y a des moments en développement web où l’on se sent bloqué pour une raison presque ridicule. Vous avez une simple chaîne de texte, vous voulez vérifier un email, nettoyer un numéro de téléphone ou extraire une date… et soudain, tout devient compliqué. C’est souvent à ce moment précis que les RegEx entrent en scène.
- Gagner un temps précieux en utilisant des RegEx fiables et prêtes à l’emploi pour valider, nettoyer ou analyser des données sans repartir de zéro à chaque projet.
- Comprendre comment lire et adapter une RegEx existante, afin de ne plus copier-coller à l’aveugle et corriger sereinement les cas réels rencontrés en production.
- Se sentir à l’aise avec un outil souvent redouté, pour sécuriser formulaires et traitements de texte avec confiance, simplicité et bonnes pratiques professionnelles.
Les expressions régulières, aussi appelées RegEx, ont la réputation d’être obscures, presque ésotériques. Pourtant, derrière cette image un peu effrayante se cache un outil incroyablement puissant, capable de vous faire gagner un temps fou dans vos projets. Le problème, ce n’est pas la RegEx en elle-même, c’est la manière dont on l’aborde.
Dans ce guide, je vous propose une approche différente. Pas de formules magiques incompréhensibles, pas de jargon inutile. Nous allons partir de zéro, comprendre les bases, puis utiliser des RegEx prêtes à copier-coller, expliquées pas à pas, avec des exemples concrets. L’objectif est simple : que vous puissiez utiliser les RegEx sereinement.
- C’est quoi une RegEx, concrètement ?
- RegEx n°1 : vérifier une adresse email simple
- RegEx n°2 : vérifier un mot de passe simple
- RegEx n°3 : détecter uniquement des chiffres
- RegEx n°4 : vérifier un nombre de téléphone français simple
- RegEx n°5 : détecter une chaîne vide ou composée d’espaces
- RegEx n°6 : vérifier une date au format JJ/MM/AAAA
- RegEx n°7 : extraire un hashtag dans un texte
- RegEx n°8 : supprimer les balises HTML d’un texte
- RegEx n°9 : vérifier une URL simple
- RegEx n°10 : vérifier un nom composé uniquement de lettres
- Comprendre les quantificateurs sans se faire peur
- RegEx n°11 : vérifier un code postal français
- RegEx n°12 : détecter une adresse IP v4
- RegEx n°13 : vérifier un nom de fichier avec extension
- RegEx n°14 : détecter un nombre décimal
- RegEx n°15 : vérifier un identifiant alphanumérique
- Les groupes, ces grands incompris
- RegEx n°16 : extraire le domaine d’un email
- RegEx n°17 : vérifier une heure au format HH:MM
- RegEx n°18 : détecter une suite de mots sans chiffres
- RegEx n°19 : supprimer les espaces en début et fin de chaîne
- RegEx n°20 : vérifier un format de slug URL
- Comment utiliser ces RegEx dans vos projets
C’est quoi une RegEx, concrètement ?
Une RegEx, ou expression régulière, est une sorte de filtre appliqué à du texte. Elle sert à vérifier, rechercher, extraire ou remplacer des morceaux de texte selon des règles précises. Là où une simple comparaison échoue, la RegEx excelle.
Imaginez que vous demandiez à votre code : « Est-ce que ce texte ressemble à une adresse email ? ». Avec une condition classique, cela devient vite lourd. Avec une RegEx, vous décrivez simplement le motif attendu, et le moteur se charge du reste.
Ce qui fait peur au début, ce sont les symboles. Des crochets, des barres obliques, des signes bizarres… Pourtant, chaque caractère a un rôle précis, et une fois compris, tout devient beaucoup plus logique.
Comment se lit une RegEx
Avant de copier-coller la moindre RegEx, il est essentiel de comprendre comment elle se lit. Une RegEx se lit toujours de gauche à droite. Elle décrit un motif, caractère par caractère, avec parfois des règles de répétition ou de choix.
Prenons un exemple très simple :
abcCette RegEx correspond exactement à la chaîne « abc ». Ni plus, ni moins. Rien de magique ici. Maintenant, ajoutons un point :
a.cLe point signifie « n’importe quel caractère ». Cette RegEx correspondra à « abc », « aXc », ou même « a9c ». Déjà, on commence à voir la puissance de l’outil.
Les RegEx utilisent aussi des ancres. Le symbole ^ indique le début de la chaîne, et $ la fin. Cela permet d’éviter les correspondances partielles.
^abc$Ici, la chaîne doit être exactement « abc », sans rien avant ni après.
La première fois que j’ai utilisé une RegEx en production, c’était pour vérifier des emails dans un formulaire. Tout fonctionnait parfaitement… jusqu’à ce qu’un utilisateur avec un prénom composé et un domaine un peu exotique se fasse refuser. La RegEx était trop stricte. Moralité : une RegEx trop rigide est parfois pire que pas de RegEx du tout. Depuis, je privilégie toujours des expressions simples, tolérantes et adaptées au besoin réel.
Tout savoir sur : Les RegEx en JS et sur Les RegEx en PHP
RegEx n°1 : vérifier une adresse email simple
Voici une RegEx très utilisée pour vérifier une adresse email classique :
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$Cette expression vérifie qu’il y a une partie avant le @, composée de lettres, chiffres et quelques caractères autorisés. Ensuite, elle exige un domaine, puis une extension d’au moins deux lettres.
Elle n’est pas parfaite, mais elle couvre 95 % des cas réels. Et surtout, elle évite de rejeter des emails valides mais atypiques.
RegEx n°2 : vérifier un mot de passe simple
Pour un mot de passe d’au moins huit caractères, avec lettres et chiffres :
^(?=.*[a-zA-Z])(?=.*\d).{8,}$Cette RegEx utilise ce qu’on appelle des assertions. Elle vérifie qu’il existe au moins une lettre et au moins un chiffre, puis que la longueur totale est suffisante.
Même si elle semble complexe, l’idée est simple : on décrit des conditions à respecter, sans imposer un ordre précis.
RegEx n°3 : détecter uniquement des chiffres
Parfait pour vérifier un code postal ou un identifiant numérique :
^\d+$Le \d signifie « chiffre ». Le + indique « au moins une fois ». Résultat : uniquement des chiffres, sans espace ni lettre.
RegEx n°4 : vérifier un nombre de téléphone français simple
Voici une version volontairement accessible :
^0[1-9](\s?\d{2}){4}$Cette RegEx accepte les numéros avec ou sans espaces, tout en respectant le format français. Elle commence par un zéro, suivi d’un chiffre valide, puis de groupes de deux chiffres.
Regex téléphone : Valider un numéro de téléphone en JS / PHP
RegEx n°5 : détecter une chaîne vide ou composée d’espaces
Très utile en validation de formulaire :
^\s*$Le \s représente les espaces, tabulations et retours à la ligne. L’astérisque signifie « zéro ou plusieurs ». Cette RegEx permet de repérer un champ visuellement rempli, mais en réalité vide.
RegEx n°6 : vérifier une date au format JJ/MM/AAAA
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/\d{4}$Cette RegEx vérifie un format cohérent, sans garantir que la date existe réellement. Le 31 février passera encore, mais pour une validation basique, c’est souvent suffisant.
RegEx n°7 : extraire un hashtag dans un texte
#\w+Parfaite pour analyser du contenu social. Elle détecte le symbole # suivi de caractères alphanumériques.
RegEx n°8 : supprimer les balises HTML d’un texte
<[^>]*>Cette RegEx permet de nettoyer un texte brut en supprimant les balises HTML. Attention toutefois : pour des cas complexes, un vrai parseur HTML reste préférable.

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?<?php
$texte = "<p>Bonjour <strong>le monde</strong> !</p>";
$texte_nettoye = preg_replace('/<[^>]*>/', '', $texte);
echo $texte_nettoye;
// Résultat : Bonjour le monde !Dans cet exemple, la fonction preg_replace applique la RegEx <[^>]*> sur la chaîne d’origine. Elle repère tout ce qui commence par <, contient n’importe quels caractères sauf >, puis se termine par >. Chaque balise HTML trouvée est remplacée par une chaîne vide, ce qui permet de conserver uniquement le texte lisible. C’est une solution simple et efficace pour nettoyer un contenu avant affichage ou traitement.
Exemple en JavaScript : supprimer les balises HTML d’un texte
const texte = "<p>Bonjour <strong>le monde</strong> !</p>";
const texteNettoye = texte.replace(/<[^>]*>/g, "");
console.log(texteNettoye);
// Résultat : Bonjour le monde !Ici, la méthode replace utilise la même RegEx, accompagnée du flag g pour une recherche globale. Cela signifie que toutes les balises HTML présentes dans la chaîne seront supprimées, et pas seulement la première. Cette approche est très courante côté front-end, notamment pour sécuriser ou simplifier l’affichage de données issues d’une saisie utilisateur.
RegEx n°9 : vérifier une URL simple
^https?:\/\/[^\s]+$Elle accepte les URL commençant par http ou https, suivies de n’importe quels caractères non espacés.
RegEx n°10 : vérifier un nom composé uniquement de lettres
^[a-zA-ZÀ-ÿ'-]+$Parfait pour des noms ou prénoms en français, avec accents, tirets et apostrophes.
Comprendre les quantificateurs sans se faire peur
Avant d’attaquer les dix prochaines RegEx, prenons un moment pour éclaircir un point qui bloque énormément de débutants : les quantificateurs. Ce sont eux qui donnent l’impression que les expressions régulières sont compliquées, alors qu’en réalité, ils sont assez logiques.
Un quantificateur sert simplement à dire combien de fois un caractère ou un groupe peut apparaître. Par exemple, le symbole * signifie « zéro ou plusieurs fois ». Le symbole + veut dire « au moins une fois ». Les accolades {} permettent d’être plus précis.
Si vous écrivez \d{3}, vous dites à la RegEx : « Je veux exactement trois chiffres ». Rien de plus. Et \d{2,4} signifie « entre deux et quatre chiffres ». Une fois ce principe compris, beaucoup de RegEx deviennent lisibles, presque évidentes.
RegEx n°11 : vérifier un code postal français
Voici une RegEx très courante dans les formulaires :
^\d{5}$Elle impose exactement cinq chiffres, sans espace, sans lettre. C’est volontairement simple. Dans la majorité des projets, il vaut mieux une validation claire côté client, et laisser les cas particuliers être gérés côté serveur si besoin.
RegEx n°12 : détecter une adresse IP v4
^(25[0-5]|2[0-4]\d|[01]?\d\d?)(\.(25[0-5]|2[0-4]\d|[01]?\d\d?)){3}$Cette RegEx est plus longue, mais elle fait un travail précis. Chaque bloc vérifie que le nombre est compris entre 0 et 255. Le point est échappé avec un antislash car, sans cela, il signifierait « n’importe quel caractère ».
Même si elle impressionne au premier regard, elle est très utilisée telle quelle, sans modification.
RegEx n°13 : vérifier un nom de fichier avec extension
^[\w,\s-]+\.[A-Za-z]{2,4}$Elle permet de vérifier un nom de fichier simple, comme document.pdf ou photo-vacances.jpg. Elle accepte les espaces, les tirets et impose une extension cohérente.
RegEx n°14 : détecter un nombre décimal
^\d+([.,]\d+)?$Cette RegEx accepte les nombres entiers et décimaux, avec un point ou une virgule comme séparateur. Très pratique pour des formulaires internationaux ou des champs de prix simples.
RegEx n°15 : vérifier un identifiant alphanumérique
^[a-zA-Z0-9_-]{4,20}$Elle impose un identifiant entre quatre et vingt caractères, composé uniquement de lettres, chiffres, tirets et underscores. C’est un excellent compromis entre sécurité et simplicité pour des pseudos.
Les groupes, ces grands incompris
Les parenthèses dans une RegEx servent à créer des groupes. Un groupe permet soit d’appliquer un quantificateur à plusieurs caractères, soit d’extraire une partie précise du texte.
Par exemple, dans une URL, vous pouvez vouloir récupérer uniquement le domaine. Les groupes rendent cela possible sans complexifier votre code.
Comprendre les groupes, c’est souvent le moment où les RegEx cessent d’être floues et commencent à devenir utiles au quotidien.
RegEx n°16 : extraire le domaine d’un email
@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})Cette RegEx permet de capturer uniquement la partie domaine d’une adresse email. Le groupe entre parenthèses est récupérable dans la plupart des langages.
RegEx n°17 : vérifier une heure au format HH:MM
^([01]\d|2[0-3]):[0-5]\d$Elle vérifie que l’heure est valide, de 00:00 à 23:59. C’est typiquement le genre de validation qui semble pénible sans RegEx, mais devient élégante avec une expression bien pensée.
RegEx n°18 : détecter une suite de mots sans chiffres
^[A-Za-zÀ-ÿ\s]+$Idéale pour vérifier un champ « nom complet » ou « ville », cette RegEx interdit les chiffres tout en acceptant les accents et les espaces.
RegEx n°19 : supprimer les espaces en début et fin de chaîne
^\s+|\s+$Utilisée en remplacement, cette RegEx permet de nettoyer proprement une chaîne utilisateur. C’est un réflexe très sain à adopter avant toute validation plus stricte.
RegEx n°20 : vérifier un format de slug URL
^[a-z0-9]+(?:-[a-z0-9]+)*$Parfaite pour des URL propres et lisibles. Elle autorise uniquement des minuscules, des chiffres et des tirets, sans tiret en début ou en fin.
Comment utiliser ces RegEx dans vos projets
Une RegEx ne vit jamais seule. Elle est toujours utilisée dans un langage ou un outil. En JavaScript, par exemple :
const regex = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
regex.test("mon-super-slug"); // trueEn PHP, l’approche est très similaire :
if (preg_match('/^\d{5}$/', $codePostal)) {
// Code postal valide
}L’essentiel n’est pas de tout mémoriser, mais de savoir reconnaître la structure et adapter une RegEx existante à votre besoin.
Les erreurs courantes avec les RegEx
La plus fréquente consiste à vouloir être trop strict. Une RegEx trop complexe devient vite fragile et difficile à maintenir. À l’inverse, une RegEx légèrement permissive, combinée à une validation logique côté serveur, donne souvent de meilleurs résultats.
Une autre erreur classique est d’oublier que les RegEx ne comprennent pas le sens, seulement la forme. Elles ne savent pas si une date existe réellement ou si un email est réellement joignable. Elles vérifient un motif, rien de plus.
Les RegEx ne sont pas un langage obscur réservé aux experts barbus devant des écrans noirs. Ce sont avant tout des outils pratiques, conçus pour résoudre des problèmes très concrets que vous rencontrez déjà dans vos projets. Lorsqu’on les aborde avec méthode et bienveillance, elles deviennent presque rassurantes.
En gardant sous la main ces 20 RegEx prêtes à copier-coller, vous disposez désormais d’une véritable boîte à outils. Vous n’êtes pas obligé de tout comprendre immédiatement, et c’est parfaitement normal. L’important est de savoir quand une RegEx peut vous simplifier la vie, et d’oser l’utiliser sans crainte.
Avec le temps, vous verrez que certaines expressions vous deviendront familières. Et le jour où vous écrirez votre propre RegEx sans la chercher sur Google, vous ressentirez ce petit plaisir discret du développeur qui progresse. Pas spectaculaire, mais profondément satisfaisant.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
