Aller au contenu
Toolbrik
Retour au blog

Regex du quotidien : les motifs que vous réutiliserez toujours

15 septembre 2026 · Outil associé: Testeur d'Expressions Régulières

Les expressions régulières ont une réputation de complexité, mais 90 % de leur usage réel se résume à une poignée de motifs qui reviennent dans chaque projet : valider un email, extraire une URL, nettoyer des espaces en double. Le reste, c'est chercher sur Google quand le cas rare se présente.

Testez avant de mettre en production

Avant d'intégrer une regex dans votre code, testez-la sur plusieurs cas réels — y compris ceux qui ne devraient pas correspondre — dans le testeur d'expressions régulières. Il surligne chaque correspondance et chaque groupe capturé, pour voir immédiatement si le motif est trop permissif ou trop strict.

Les motifs que vous utiliserez toujours

  • Email (validation basique) : ^[^\s@]+@[^\s@]+\.[^\s@]+$ — ne couvre pas 100 % de la RFC, mais suffit pour un formulaire.
  • Chiffres uniquement : ^\d+$
  • Espaces en double : \s{2,} — utile pour nettoyer du texte collé depuis un PDF ou Word.
  • URL avec protocole : ^https?:\/\/[^\s]+$
  • Date ISO (AAAA-MM-JJ) : ^\d{4}-\d{2}-\d{2}$
  • Slug (minuscules et tirets) : ^[a-z0-9]+(-[a-z0-9]+)*$

Les erreurs les plus fréquentes

  1. Oublier d'échapper le point. . signifie "n'importe quel caractère", pas un point littéral. Pour un domaine, c'est \. et non .
  2. Gourmandise par défaut. <.+> sur <b>gras</b> capture depuis le premier < jusqu'au dernier >, pas juste une balise. Utilisez le quantificateur paresseux <.+?> pour vous arrêter à la première fermeture.
  3. Ne pas ancrer le motif. Sans ^ et $, votre regex peut ne matcher qu'une partie de la chaîne et laisser passer des déchets avant ou après.
  4. Confondre [abc] et (abc). Le premier signifie "une de ces trois lettres" ; le second, "la séquence exacte abc" en tant que groupe.

Les groupes nommés, votre meilleur allié

Quand vous extrayez plusieurs valeurs d'une chaîne (des parties d'une URL, une date), utilisez des groupes nommés plutôt que de les compter par position : (?<annee>\d{4})-(?<mois>\d{2})-(?<jour>\d{2}). Le code qui consomme le résultat devient bien plus lisible que match[1], match[2], match[3].

En résumé : écrivez le motif, testez-le sur de vrais cas limites, et collez-le dans le code seulement ensuite.