Qu'est-ce qu'un testeur de regex et pourquoi en avoir besoin ?
Une expression régulière (regex pour faire court) est un mini-langage pour décrire des motifs dans du texte. Des choses comme "n'importe quelle adresse email", "un numéro de carte bancaire à 16 chiffres", "une date écrite 2026-05-13" ou "le mot color, écrit soit color soit colour". Vous écrivez le motif, le moteur regex trouve chaque endroit où il apparaît dans votre texte.
Le problème : la regex est célèbre pour être difficile à réussir du premier coup. Un caractère de trop et tout casse, ou pire, ça matche silencieusement des choses que vous ne vouliez pas. Vous ajoutez une parenthèse, vous oubliez d'échapper un point, vous changez de flags et soudain rien ne matche.
Ce testeur vous laisse écrire un motif à gauche, coller votre texte à droite, et voir les matches mis en évidence en direct. Basculez en mode Replace et regardez le nouveau texte apparaître avec les backrefs $1, $2. Basculez en mode Split et voyez votre texte décomposé en parties. Plus une bibliothèque de patterns avec des expressions éprouvées pour emails, URLs, UUIDs et plus, et un mémento pour la syntaxe que vous oubliez sans cesse.
Comment l'utiliser
- Tapez votre motif dans le champ en haut à gauche. Ne tapez pas les slashes englobants (`/.../`), le testeur les affiche visuellement autour de votre saisie.
- Choisissez les flags dans les chips : `g` (global, trouver tout), `i` (ignorer la casse), `m` (multiligne), `s` (le point matche les sauts de ligne), `u` (unicode), `y` (sticky). Pour la plupart des cas, vous voulez `g` et souvent `i`.
- Collez votre texte dans le champ en haut à droite, c'est ce que le motif fouille.
- Regardez les matches surlignés dans le texte et apparaître dans la liste en dessous, avec leur position de début et tous les groupes de capture dépliés.
- Basculez en mode Replace (barre segmentée en haut) pour ajouter un champ Replacement. Utilisez `$1`, `$2` pour référencer les groupes de capture, `$&` pour tout le match.
- Basculez en mode Split pour utiliser la regex comme délimiteur, le résultat est le tableau des morceaux entre les matches.
- Cliquez n'importe quel élément de la bibliothèque de patterns pour charger une expression prête pour email, URL, UUID, IPv4 / IPv6, date ISO, code postal US, carte bancaire, nom d'utilisateur, mot de passe fort et plus.
- Bloqué sur la syntaxe ? Ouvrez le mémento en bas : classes de caractères, quantificateurs, ancres, groupes, lookarounds, échappements, tout au même endroit.
Quand c'est utile
Six moments courants où un testeur de regex en direct vous évite de copier des motifs à moitié cassés depuis Stack Overflow :
- Valider un champ de formulaire. Il vous faut accepter des adresses email dans un formulaire d'inscription. Vous prenez le pattern Email de la bibliothèque, collez quelques entrées exemples pour voir les cas limites (adressage avec +, parties locales avec points), ajustez le pattern, puis le collez dans votre code en confiance.
- Nettoyer des données désordonnées. Un CSV a des numéros de téléphone dans douze formats différents. Vous écrivez un pattern qui les matche tous, basculez en mode Replace, remplacez par un format canonique en utilisant les groupes de capture. Un passage, une colonne cohérente.
- Rechercher dans un fichier log. Il vous faut chaque ligne qui ressemble à une IP plus un statut 4xx. Vous collez un morceau du log, tapez le pattern, voyez exactement quelles lignes matchent. Plus rapide que de scroller.
- Extraire des parties d'une string. Vous avez une liste de noms de fichiers comme `2026-05-13-meeting-notes.md` et vous voulez la date et le slug séparément. Groupes de capture : `(\d{4}-\d{2}-\d{2})-(.+?)\.md` vous donne les deux morceaux.
- Scinder du texte structuré. Vous avez une grosse string avec des éléments séparés par virgules, points-virgules ou pipes (sans cohérence). Le mode Split avec `[,;|]\s*` vous donne un tableau propre.
- Apprendre la regex sans peur. Vous lisez sur les lookaheads dans un tuto, vous voulez jouer. Vous collez du texte exemple, essayez `(?=\d)` versus `(?!\d)`, voyez la différence dans les matches instantanément. Pas de setup, pas de projet, juste un bac à sable.