QuickATools

Outils développeur · Free browser tool

Testeur d’expressions régulières

Testez et déboguez vos expressions régulières en temps réel avec coloration syntaxique live, captures de groupes et bascules de flags.

Regular expression

Pattern between slashes · flags toggle on the right.

g
g Global — find all matchesi Ignore casem Multiline — ^/$ per line
Valid pattern/\b(\w+)@(\w+)\.(\w+)\b/g3 matches

Test string

Paste the text you want to match against.

107 characters

Highlighted matches

Matching regions are marked in amber below.

Contact us at hello@example.com or support@quickatools.com. Also try BAD@EMAIL (no TLD) and alice@site.org.

Match details

3 results
#MatchIndex$1$2$3
1hello@example.com1431helloexamplecom
2support@quickatools.com3558supportquickatoolscom
3alice@site.org92106alicesiteorg

Frequently Asked Questions

Que font réellement les flags g, i et m ?

Le flag g (global) trouve chaque correspondance dans la chaîne au lieu de s’arrêter après la première. Le flag i (ignore case) rend le motif insensible à la casse, donc /hello/i correspond à « Hello » et « HELLO ». Le flag m (multiline) change le comportement de ^ et $ — avec m, ils correspondent au début et à la fin de chaque ligne, pas seulement au début et à la fin de toute la chaîne. Activez-les en direct dans cet outil pour voir la différence immédiatement.

Quelle est la différence entre une correspondance et un groupe de capture ?

Une correspondance est la sous-chaîne complète qui a satisfait votre motif. Les groupes de capture sont les morceaux de cette correspondance que vous avez volontairement « sauvés » en enveloppant des parties du motif entre parenthèses — par exemple, /(\d{4})-(\d{2})-(\d{2})/ sur « 2026-08-07 » produit une correspondance (« 2026-08-07 ») et trois groupes ($1 = « 2026 », $2 = « 08 », $3 = « 07 »). Les groupes de capture servent aux remplacements ou à l’extraction de champs structurés.

En quoi le moteur RegExp JavaScript diffère-t-il des autres saveurs de regex ?

JavaScript utilise une saveur basée sur ECMAScript, qui prend en charge lookarounds, groupes nommés et escapes de propriétés Unicode (avec le flag u), mais pas certaines fonctions PCRE ou .NET comme les motifs récursifs ou quantificateurs possessifs. Les motifs testés ici se comportent exactement comme dans le code navigateur ou Node.js — si un motif marche dans cet outil, il marchera de la même façon dans votre application JavaScript.

Est-il sûr de tester des regex contre du vrai code source ou des données sensibles ici ?

Oui. Compilation de motif, matching, coloration et génération de rapport tournent tous localement via le moteur RegExp intégré du navigateur — rien de ce que vous collez n’est uploadé, journalisé ou envoyé à un serveur. C’est sûr pour déboguer des motifs de validation de formulaires d’inscription, règles de parsing de logs ou regex de rédaction contre du vrai texte d’exemple (même sensible) sans l’exposer à un service tiers.

Pourquoi le feedback regex en direct bat le debug par essais et rechargements

Les expressions régulières sont denses par conception — un échappement manquant, un quantificateur gourmand ou le mauvais flag peut correspondre silencieusement à la mauvaise chose (ou à rien). Les déboguer en collant dans le code de production et en rechargeant est lent et risqué. Un testeur live qui colore chaque correspondance et montre chaque groupe de capture pendant que vous tapez réduit cette boucle de feedback à des millisecondes, pour voir exactement ce que ^, $ ou un groupe imbriqué fait avant que le motif ne parte en prod.

Ce feedback compte aussi pour les règles sensibles à la sécurité. Validateurs de formulaires d’inscription, motifs de rédaction de logs et filtres de contenu sont souvent testés contre de vraies données d’exemple — e-mails, numéros de téléphone ou fragments d’entrée utilisateur. Envoyer ce texte à un playground regex tiers, c’est faire confiance à leur serveur avec un contenu que vous ne voulez peut-être pas hors de votre machine. Cet outil n’uploade jamais rien : compilation, matching, coloration et rapport de correspondances passent tous par le moteur RegExp intégré du navigateur.

Comme le moteur est la même implémentation ECMAScript que votre navigateur et Node.js, un motif qui marche ici se comportera de la même façon dans votre application JavaScript — y compris comment les flags g, i et m changent le matching, et comment les groupes de capture sont numérotés. Utilisez le panneau de surbrillance ambre pour repérer les correspondances involontaires, et le tableau de matches pour vérifier que $1, $2 et consorts extraient les champs attendus.

Besoin de nettoyer un JSON d’exemple avant de tester une règle de parse ? Utilisez le Formateur et validateur JSON. Décoder d’abord un token encodé ? Essayez Encoder/décoder Base64. Générer des IDs de fixture pour une suite de tests ? Le Générateur UUID/GUID tourne aussi localement que cet outil.