Comment tester des motifs regex
Testez des regex dans votre navigateur. Saisissez motif et texte de test, basculez les drapeaux, inspectez correspondances et groupes, et prévisualisez les remplacements en local.
Les expressions régulières sont puissantes précisément parce qu’elles sont compactes, mais cette même compacité rend les erreurs subtiles faciles à commettre. Un motif qui semble correct peut correspondre à trop de choses, trop peu, ou rien du tout, et le seul moyen fiable de le savoir est de le lancer sur du texte réel. Le testeur de regex exécute une expression régulière JavaScript dans votre navigateur, affiche chaque correspondance avec ses groupes de capture et prévisualise les remplacements — le tout sans envoyer votre texte.
TL;DR
Vous pouvez développer et vérifier une regex sur une entrée réelle, entièrement en local.
- Voir correspondances et groupes — chaque correspondance liste son texte, sa plage d’index et ses groupes de capture (y compris les groupes nommés).
- Prévisualiser les remplacements — tapez un remplacement et voyez le résultat modifié instantanément, avec un avis quand rien ne change.
- Les sept drapeaux JS — basculez g, i, m, s, u, y ou d et regardez le résultat se mettre à jour.
Ce qu’est une regex
Une expression régulière est un motif qui décrit un ensemble de chaînes. C’est l’outil standard pour chercher, valider, extraire et remplacer du texte, intégré dans tous les langages. En JavaScript, une regex est un objet RegExp, que vous écrivez soit comme littéral (/\d+/g), soit en la construisant (new RegExp("\\d+", "g")).
Les tâches courantes d’une regex :
- Validation — « cette chaîne ressemble-t-elle à un email, une date, un numéro ? »
- Extraction — « extraire chaque URL, chaque nombre, chaque phrase entre guillemets de ce texte. »
- Remplacement — « échanger chaque placeholder contre une vraie valeur » ou « normaliser tous les espaces. »
Parce qu’une regex est brève et symbolique, un seul caractère mal placé en change le sens. Tester sur une entrée représentative, c’est passer de « je crois que ça marche » à « ça marche ».
Les parties d’un motif regex
Un motif se construit avec quelques briques. Les connaître par leur nom rend les motifs lisibles :
- Littéraux — caractères ordinaires qui se correspondent à eux-mêmes.
catcorrespond aux lettresc,a,tdans l’ordre. - Classes de caractères — un ensemble de caractères permis entre crochets.
[a-z]correspond à toute lettre minuscule ;\dest le raccourci de[0-9],\wdes caractères de mot,.de (presque) tout caractère. - Quantificateurs — combien de fois le précédent se répète.
*est zéro ou plus,+un ou plus,?zéro ou un, et{n}ou{n,m}un compte exact ou borné. - Ancres — position, pas de caractères.
^correspond au début de la chaîne (ou de ligne, avec le drapeaum),$à la fin. - Groupes — les parenthèses
(...)capturent une partie de la correspondance pour la référencer plus tard. Les groupes nommés(?<year>\d{4})donnent un nom lisible à la capture. - Alternance —
cat|dogcorrespond àcatou àdog.
Composer ces briques, c’est comment on écrit les motifs, et les voir appliqués au texte, c’est comment on les vérifie.
Drapeaux
Les drapeaux modifient le comportement de tout le motif et s’ajoutent après la barre de fermeture (par exemple /x/gi). Le testeur expose les sept drapeaux JavaScript comme des interrupteurs :
- g (Global) — trouve toutes les correspondances, pas seulement la première. Sans
g, la recherche s’arrête après le premier résultat. - i (Ignorer casse) — rend la correspondance insensible à la casse, de sorte que
[a-z]tolère aussi les majuscules. - m (Multiligne) — laisse
^et$correspondre au début et à la fin de chaque ligne, pas seulement de toute la chaîne. - s (Point partout) — laisse
.correspondre aussi aux retours à la ligne, ce qu’il ne fait pas normalement. - u (Unicode) — traite le motif comme des points de code Unicode, indispensable pour les emojis et les écritures non ASCII.
- y (Sticky) — ne correspond qu’à
lastIndex, ancrant chaque recherche à une position exacte. - d (Indices) — expose les index de début et de fin de chaque groupe de capture, en plus de leurs valeurs.
Le quotidien se contente le plus souvent de g et i ; les autres résolvent des cas précis avec texte multiligne, Unicode ou balayage avancé.
Étape par étape : tester un motif
Ouvrez le testeur de regex et suivez ce déroulé.
- Saisissez votre Motif dans le champ Motif. Tapez-le sans les barres encadrantes ni les drapeaux — l’outil construit le littéral pour vous.
- Collez votre Texte de test dans le champ de texte. C’est la botte de foin que votre motif parcourt.
- Basculez les drapeaux dont vous avez besoin — g, i, m, s, u, y ou d. Le résultat se met à jour au fur et à mesure.
- Consultez l’onglet Correspondances. Chaque correspondance affiche le texte reconnu, sa plage d’index et les groupes de capture éventuels (les groupes nommés apparaissent avec leur nom). Si rien ne correspond, vous verrez “Aucune correspondance”.
- Passez à l’onglet Remplacer. Tapez un Remplacement (vous pouvez référencer les groupes comme
$1ou$<name>). L’outil lancetext.replace(regex, replacement)et affiche le résultat modifié, ou vous prévient quand rien ne change. - Copiez ou réinitialisez. Utilisez Copier regex pour le littéral, Copier resume pour la liste des correspondances, Copier remplacement pour le résultat, ou Reinitialiser pour tout vider.
Si vous ne savez pas par où commencer, le menu déroulant Exemple charge un motif et un texte prêts à l’emploi pour Date, Email, URL ou Mots, afin de voir tout de suite un exemple fonctionnel.
Limites et notes spécifiques à JavaScript
Quelques contraintes honnêtes, pour que l’outil corresponde à ce que vous attendez :
- Moteur JavaScript uniquement. L’outil exécute
new RegExp(pattern, flags)dans votre navigateur, donc il reflète le moteur regex de JavaScript — pas PCRE, Python ni Java. Les motifs écrits pour d’autres moteurs peuvent se comporter différemment, et l’outil ne vous « expliquera » pas un motif. - Tailles bornées. Le motif est plafonné à 500 caractères et le texte de test à 20 000. Si vous dépassez, l’outil signale le problème plutôt que de lancer.
- Les correspondances plafonnent à 200. Quand un motif correspond plus de 200 fois, l’outil affiche les 200 premières avec la mention “Affichage des 200 premieres correspondances.”. Pour vérifier, c’est largement suffisant ; pour compter d’énormes entrées, resserrez votre motif.
- Le lookbehind varie selon le moteur et l’époque. Le lookbehind JavaScript (
(?<=...)) est pris en charge par les navigateurs modernes, mais absent des anciens moteurs et différent de PCRE. Si un lookbehind échoue, c’est généralement la raison.
FAQ
Prend-il en charge PCRE ?
Non. L’outil utilise le moteur RegExp de JavaScript (new RegExp(pattern, flags)), qui a sa propre syntaxe et son propre ensemble de fonctions et n’est pas compatible PCRE. Les fonctions exclusives à PCRE — comme les motifs récursifs ou certaines classes POSIX — ne fonctionneront pas ici. Écrivez des motifs pour le moteur JavaScript, ou convertissez les motifs PCRE avant de les tester.
Que sont les groupes de capture ?
Les parenthèses dans un motif ( ... ) créent un groupe de capture qui retient la partie du texte correspondant, afin de la référencer plus tard — par numéro ($1, $2) dans un remplacement, ou par nom si vous avez écrit un groupe nommé (?<name> ...). L’onglet Correspondances affiche la valeur de chaque groupe (et son nom, le cas échéant), ce qui vous permet de confirmer que le motif capture bien ce que vous vouliez.
Comment remplacer du texte ?
Passez à l’onglet Remplacer et tapez un Remplacement. L’outil lance text.replace(regex, replacement) avec vos drapeaux courants et affiche le résultat ; vous pouvez référencer les groupes avec $1, $2, … ou les groupes nommés avec $<name>. Si le drapeau global g est inactif, seule la première correspondance est remplacée. Quand rien ne change, l’outil le dit clairement.
Pourquoi seulement 200 correspondances ?
Par sécurité et par vitesse. Un motif peut correspondre des milliers de fois dans un grand document, et tout afficher ralentirait la page jusqu’à la figer. Le plafond de 200 suffit à vérifier qu’un motif correspond bien à ce que vous pensez ; si vous avez besoin du compte complet, rendez le motif plus précis ou testez sur un extrait plus petit.

Commencer avec cet outil
Commencer