Testeur d'expressions régulières
Testez les expressions régulières avec surlignage des correspondances en temps réel, explications des jetons et génération de chaînes exemples
- L'explication du motif apparaîtra ici.
Comment utiliser
Entrer le motif
Tapez votre regex et sélectionnez les drapeaux pertinents.
Tester le texte en direct
Voyez les correspondances surlignées et les groupes de capture en temps réel.
Interpréter et générer
Consultez l'explication du motif et générez des chaînes exemple.
FAQ
Oui. Vous pouvez activer dans le testeur les drapeaux global, insensible à la casse, multiligne, dotAll, unicode et sticky.
L'analyseur lit votre motif token par token et génère des explications en langage clair pour les ancres, les classes, les groupes et les quantificateurs.
Oui. Le générateur d'exemples crée une chaîne représentative à partir de votre motif actuel afin de vérifier rapidement que tout fonctionne comme prévu.
Un quantificateur gourmand comme .* consomme un maximum de caractères, puis effectue un retour arrière ; son jumeau paresseux .*? s'arrête à la première correspondance. Sur le texte say "hi" bye, le motif "..*" capture toute la ligne, tandis que ".*?" ne capture que hi. La capture gourmande est le comportement par défaut - ajoutez ? pour rendre n'importe quel quantificateur paresseux.
Les parenthèses capturent : (\d{4})-(\d{2}) appliqué à 2026-09-19 donne groupe 1 = 2026 et groupe 2 = 09, et dans un motif de remplacement $1 réutilise le texte capturé. Les groupes nommés comme (?<year>\d{4}) se lisent mieux dans les motifs complexes. JavaScript numérote les groupes selon leur parenthèse ouvrante, à partir de 1 - le groupe 0 est toujours la correspondance entière.
Ajoutez u dès que le motif ou le texte contient des caractères non ASCII : il fait suivre à \w et \d les règles Unicode, active les échappements de propriétés comme \p{L} et \p{Script=Arabic}, et traite les émojis comme des caractères uniques. Sans u, une paire de substitution UTF-16 peut être coupée en deux par un point.
Par défaut, ^ et $ ancrent la chaîne entière et . ignore les sauts de ligne. Le drapeau m (multiline) fait correspondre ^ et $ à chaque limite de ligne, et le drapeau s (dotAll) permet à . de traverser les retours à la ligne. Une combinaison courante pour l'analyse de logs est les deux drapeaux ensemble : /error.*timeout/gms.
Il exécute le moteur JavaScript de votre navigateur et suit donc la sémantique Regex d'ECMAScript (ECMA-262) - le même moteur que String.prototype.match utilise en production JS. Notez les différences avec PCRE ou Python : JavaScript n'a pas de \K ni de récursivité, et le lookbehind n'est arrivé qu'avec ES2018. Les motifs écrits pour Perl ou PCRE peuvent nécessiter de petits ajustements.
Outils connexes
Références faisant autorité
Les sources primaires à l'origine de cet outil - normes et spécifications officielles, et non des résumés de seconde main.
MDN Web Docs - Regular Expressions
Référence Mozilla JavaScript sur RegExp : syntaxe, flags et groupes de capture nommés.
ECMA-262 - ECMAScript Language Specification
Le chapitre de la spécification officielle du langage ECMAScript sur les expressions régulières.
Regular expression - Wikipedia
Histoire et concepts des expressions régulières : de l'héritage Perl aux moteurs modernes.