Texte
Regex Tester / Find & Replace
Test d'expressions régulières sur du texte réel : correspondances surlignées et groupes de capture analysés, ou remplacement des correspondances trouvées par un nouveau texte.
A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.
How to use it
- Search: enter a pattern and some test text — every match is highlighted and capture groups are broken out separately.
- Replace: switch to Replace mode, provide a replacement template (referencing groups with $1, $2), and see the result instantly.
- Flags (g, i, m, s) toggle independently and immediately affect how many matches are found and how.
Common uses
- Building and debugging a regex before pasting it into code — you see the result without running the program.
- Bulk find-and-replace against a pattern (e.g. reformatting phone numbers or dates).
- Validating an input format (email, card number, slug) against real examples.
Things to keep in mind
Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).
Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.
Article sur cet outil: Expressions régulières : syntaxe de base et motifs courants
Questions fréquentes
Quel moteur de regex est utilisé ?
L'outil utilise le moteur regex de JavaScript, pas PCRE, donc certaines syntaxes propres à PCRE (comme les assertions récursives ou certains modes de correspondance possessive) ne fonctionneront pas ici ; les indicateurs courants comme g, i, m, s et u sont pris en charge.
Quelle est la différence entre quantificateurs gourmands et paresseux, et entre Test et Remplacer ?
Un quantificateur gourmand comme * ou + capture le plus de texte possible, tandis que sa version paresseuse (*?, +?) s'arrête au plus tôt ; côté modes, Test surligne les correspondances et liste les groupes de capture (y compris nommés), et Remplacer applique un texte de remplacement, avec références comme $1, à chaque correspondance.
Mon texte et mon expression sont-ils envoyés à un serveur ?
Non, l'évaluation de l'expression régulière se fait entièrement côté client dans votre navigateur, rien n'est transmis en ligne.
Qu'est-ce que le backtracking catastrophique ?
Des quantificateurs imbriqués comme (a+)+ peuvent, sur certaines chaînes en entrée, forcer le moteur à explorer un nombre exponentiel de combinaisons — la page ou le script « se fige » sur une expression en apparence simple. C'est une vraie classe de vulnérabilité (ReDoS), donc les quantificateurs imbriqués complexes doivent être testés sur de longues chaînes presque correspondantes.
Pourquoi mon expression fonctionne-t-elle dans un langage mais pas dans un autre ?
La syntaxe des regex n'est pas entièrement standardisée : PCRE (PHP, beaucoup d'autres langages), .NET, Python re et JavaScript présentent de petites différences dans la prise en charge de certaines constructions (comme les look-behind ou les groupes nommés) — une expression écrite pour un moteur ne fonctionne pas toujours telle quelle dans un autre.