Tester et déboguer des expressions régulières
Ce que fait ce testeur
Une expression régulière est un motif compact qui décrit un ensemble de chaînes : la forme d'une adresse e-mail, d'une date, d'un numéro de téléphone ou de n'importe quelle structure de texte récurrente. L'outil compile le motif que vous saisissez avec le moteur d'expressions régulières JavaScript de votre navigateur et l'exécute sur votre texte d'exemple dès que vous modifiez quelque chose, sans étape « exécuter » distincte. Chaque correspondance est surlignée directement dans le texte, et un panneau de détails énumère chacune d'elles avec ses groupes capturés et sa position en caractères.
Comme il s'appuie sur le même moteur que RegExp en JavaScript et Node.js, ce que vous voyez ici correspond exactement à ce que fera votre code.
Quand l'utiliser
Faites-y appel dès qu'un motif ne se comporte pas comme prévu. Plutôt que de parsemer votre code de console.log et de relancer un script, vous collez un texte représentatif, ajustez le motif et voyez le surlignage évoluer en direct. Il est tout aussi précieux pour bâtir un motif de zéro : commencez large, puis resserrez jusqu'à ce que seules les correspondances voulues s'allument.
Les statistiques en direct — nombre total de correspondances, nombre de groupes, longueur du motif et du texte, temps de traitement — aident à repérer un retour sur trace catastrophique ou un quantificateur trop gourmand avant qu'il n'atteigne la production.
Exemple : reconnaître une date
Supposons que vous vouliez extraire des dates ISO d'un journal. Le motif (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) reconnaît 2026-07-18 et la découpe en trois groupes nommés : year, month et day. Avec l'indicateur g activé, toutes les dates du texte sont capturées, pas seulement la première. Remplacer \d{2} par \d{1,2} accepterait aussi des mois à un seul chiffre, comme 2026-7-8.
Remarques et cas particuliers
Les indicateurs changent tout : i rend la correspondance insensible à la casse, m permet à ^ et $ de s'ancrer à chaque ligne, s autorise le point à couvrir les sauts de ligne et u active la gestion Unicode complète. N'oubliez pas que des caractères comme . * + ? ( ) [ ] { } \ | ^ $ sont spéciaux et doivent être échappés par une barre oblique inverse pour être reconnus littéralement : pour trouver un point littéral, écrivez \. plutôt que ., qui correspond à n'importe quel caractère. Les groupes sans nom sont numérotés à partir de 1 selon l'ordre de leur parenthèse ouvrante, tandis que (?:...) crée un groupe qui ne capture pas.