Testeur de regex en ligne — testez des expressions régulières JavaScript en direct
Testez une expression régulière sur un texte d’exemple avec surlignage des correspondances en direct, groupes de capture et aperçu du remplacement. Gratuit, dans votre navigateur.
Contact us at hello@freetoolsforweb.com or sales@example.org. Site: https://freetoolsforweb.com/tools — call (416) 555-0199. Launched 2026-09-08, colours #244b3f and #fff, server 10.0.0.12.
| # | Correspondance | Index | Groupes |
|---|---|---|---|
| 1 | hello@freetoolsforweb.com | 14 | — |
| 2 | sales@example.org | 43 | — |
Le lien de partage ouvre ce testeur avec le même motif, les mêmes drapeaux, le même texte de test et le même remplacement. Ils sont stockés après le # du lien, que les navigateurs n’envoient jamais à un serveur.
Fonctionne entièrement dans votre navigateur. Rien de ce que vous saisissez n’est envoyé ni stocké. Parcourir tous les outils gratuits.
Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.
Ce testeur de regex gratuit exécute des expressions régulières JavaScript sur votre texte d’exemple dans le navigateur et surligne chaque correspondance pendant la saisie. Les groupes de capture, les groupes nommés et l’index de correspondance sont listés pour chaque résultat, et un mode de remplacement prévisualise les substitutions avec $1 et $<name> exactement comme String.replace les effectuera. Copiez un lien de partage : toute personne qui l’ouvre voit le même motif, les mêmes drapeaux et le même texte de test ; chaque exemple de notre aide-mémoire regex s’ouvre ici de la même façon.
Le moteur est celui de votre navigateur : les résultats correspondent exactement à ceux de Node.js, React, Deno et de tous les frameworks web ; ils sont proches de PCRE (PHP, re de Python, grep -P), sans y être identiques. Les différences les plus importantes — prise en charge du lookbehind, quantificateurs possessifs et ancres \A — sont présentées ci-dessous pour qu’un motif qui fonctionne ici ne vous surprenne pas ailleurs.
Mode d’emploi
- Tapez un motif sans les barres obliques qui l’entourent, ou cliquez sur un modèle (e-mail, URL, téléphone, date, IPv4, couleur hexadécimale) pour partir d’une base éprouvée.
- Cochez les drapeaux nécessaires. g trouve toutes les correspondances plutôt que la première ; i ignore la casse ; m fait correspondre ^ et $ aux débuts et fins de ligne.
- Collez votre texte de test. Les correspondances sont surlignées immédiatement et le tableau les liste une par une avec leurs groupes de capture.
- Ouvrez Remplacer pour prévisualiser une substitution. Utilisez $1 pour les groupes numérotés, $<name> pour les groupes nommés et $& pour la correspondance entière.
- Copiez le motif au format /pattern/flags pour les littéraux JavaScript, ou au format new RegExp() quand le motif provient d’une chaîne.
- Cliquez sur Copier le lien de partage pour envoyer toute la configuration à un collègue. L’état se trouve après le # du lien : il n’est donc envoyé à aucun serveur quand votre collègue l’ouvre.
Questions fréquentes
Quelle variante de regex cet outil utilise-t-il ?
ECMAScript (JavaScript), car le navigateur évalue directement le motif. C’est ce qu’utilisent Node.js, le code front-end et les motifs de JSON Schema. Python, Java, Go, PHP et grep ont leurs propres moteurs, qui s’accordent sur les bases et divergent à la marge ; testez dans le langage cible avant de livrer quoi que ce soit d’inhabituel.
Pourquoi mon motif ne trouve-t-il que la première correspondance ?
Le drapeau g (global) est désactivé. Sans lui, JavaScript s’arrête à la première correspondance, ce qui est correct pour une validation et incorrect pour une extraction. Activez g pour lister toutes les correspondances.
Comment faire une correspondance sur plusieurs lignes ?
Deux drapeaux différents font deux choses différentes. m (multiligne) fait correspondre ^ et $ à chaque début et fin de ligne. s (dotAll) fait aussi correspondre . aux caractères de nouvelle ligne. Pour « n’importe quoi, retours à la ligne compris » sans s, l’idiome est [\s\S]*.
Qu’est-ce qu’un groupe de capture nommé ?
(?<year>\d{4}) capture quatre chiffres sous le nom year : vous pouvez lire match.groups.year au lieu de compter les parenthèses, et y faire référence par $<year> dans un remplacement. Les groupes nommés rendent les longs motifs lisibles et résistent aux modifications qui ajoutent ou retirent d’autres groupes.
Une regex peut-elle être lente ou dangereuse ?
Oui. Les motifs avec des quantificateurs imbriqués comme (a+)+ ou des alternatives qui se chevauchent peuvent prendre un temps exponentiel sur certaines entrées (retour arrière catastrophique, un vrai vecteur de déni de service). Si un motif fige cette page, c’est la même chose qui figerait votre serveur. Préférez des classes de caractères précises à .* et évitez d’imbriquer les quantificateurs.
Faut-il valider les adresses e-mail avec une regex ?
Seulement de façon souple. Le modèle proposé ici correspond à la forme courante et rejette les fautes de frappe évidentes, ce qui est tout ce qu’un formulaire doit faire. Un motif entièrement conforme à la RFC 5322 fait des milliers de caractères et ne peut toujours pas vous dire si la boîte aux lettres existe. Vérifiez la forme, puis envoyez un e-mail de confirmation.
Petit aide-mémoire regex
• . n’importe quel caractère sauf nouvelle ligne · \d chiffre · \w caractère de mot · \s espace blanc · \b limite de mot
• * zéro ou plus · + un ou plus · ? facultatif · {n,m} entre n et m fois · ajoutez ? après l’un d’eux pour le rendre paresseux
• [abc] l’un de · [^abc] aucun de · [a-z] plage · (x|y) alternative · (?:x) groupe non capturant
• ^ début · $ fin · (?=x) lookahead · (?!x) lookahead négatif · (?<=x) lookbehind (JavaScript et PCRE, pas tous les moteurs)
• Échappez les caractères spéciaux avec une barre oblique inverse : \. \? \( \[ \\
JavaScript ou PCRE : les différences que vous rencontrerez vraiment
JavaScript n’a ni quantificateurs possessifs (a++), ni groupes atomiques, ni ancres \A ou \Z (utilisez ^ et $ sans le drapeau m), et ne connaît que la forme délimitée des modificateurs en ligne, (?i:...), arrivée avec ES2025 ; la forme non délimitée (?i) en début de motif est une erreur de syntaxe. Il prend en charge le lookbehind, les groupes nommés et les échappements de propriétés Unicode comme \p{L} quand le drapeau u est activé. Le re de Python ne gère pas non plus \p{...} sans le paquet regex, et RE2 de Go n’a aucun lookaround. Si un motif doit fonctionner dans plusieurs langages, restez dans le sous-ensemble commun : classes de caractères, groupes simples, ancres et quantificateurs gourmands ou paresseux.
Outils gratuits similaires
- Aide-mémoire regex — Chaque token d’expression régulière avec un exemple fonctionnel, sa prise en charge en JavaScript, PCRE/PHP, Python, Go, Java et .NET, et un lien Essayer qui ouvre le testeur de regex prérempli.
- Formateur JSON — Indentez, minifiez et validez du JSON, avec les erreurs d’analyse localisées par ligne et colonne. Dans votre navigateur, sans envoi.
- Encodeur / décodeur Base64 — Encodez du texte ou des fichiers en Base64, transformez des images en data URI avec extraits CSS et <img>, et décodez du Base64 en fichier avec aperçu. Rien ne quitte votre navigateur.
- Compteur de mots — Comptez les mots, caractères, phrases et le temps de lecture, et vérifiez les limites de X, LinkedIn, Instagram, YouTube, du SEO et des SMS pendant la saisie.