Test regular expressions with live match highlighting and group capture.
This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
A regular expression is a tiny state machine: the engine starts at the left, tries to match the pattern, and on success records a match then resumes just after it. Flags change the walk — g keeps scanning, i relaxes case, m re-anchors ^/$ to each line. Capturing groups (…) store sub-parts so you can pull out just the fraction of each hit.
Pattern /\d+/g against the string 'A1B22C333': the engine finds 1, resumes after it, finds 22, resumes, finds 333. Without the /g flag it stops after the first hit.
Same sandwich description, three extraction goals.
Test regular expressions with match highlighting, capture group display, and all standard flags. Everything runs locally; nothing is uploaded.
FreeToolHub Regex Tester & Highlighter is a free browser-based tool — test regular expressions with match highlighting, capture group display, and all standard flags. No signup, no upload; everything runs locally in your browser.
Testez et débogez vos expressions régulières en temps réel, avec surlignage des correspondances et aide-mémoire. Gratuit.
Ce testeur est un atelier en direct pour les expressions régulières : tapez un motif et un texte d'exemple, et chaque correspondance est mise en surbrillance en place au fur et à mesure que vous tapez. Au-delà de la correspondance, il expose la machine dont les développeurs ont réellement besoin pour déboguer les motifs : les groupes de capture numérotés avec leurs valeurs extraites, tous les indicateurs standard y compris global, insensible à la casse, multiligne et dotall, et des erreurs claires lorsque le motif échoue à compiler. Les groupes nommés s'affichent avec leurs étiquettes, et les comptes de correspondances se mettent à jour en direct, vous permettant d'affiner un motif par rapport à des données réelles au lieu de deviner s'il fonctionne.
Les développeurs construisant des règles de validation pour les formulaires et les API confirment qu'un motif accepte chaque entrée valide et rejette l'entrée invalide avant de l'expédier. Les ingénieurs en données écrivant des motifs d'extraction pour les journaux et le texte extraient directement les groupes de capture qu'ils ont nommés depuis le panneau. Quiconque maintient des expressions régulières héritées — souvent le code le plus redouté dans un dépôt — les colle ici avec une entrée représentative pour comprendre ce qu'il correspond réellement avant de le modifier. Les ingénieurs QA construisent des chaînes de cas limites qui exposent les erreurs de gourmandise contre paresse et d'ancrage avant que la production ne le fasse.
(1) Entrez votre motif ; les erreurs de compilation s'affichent immédiatement avec des indices de position. (2) Basculez les indicateurs — g pour toutes les correspondances, i pour l'insensibilité à la casse, m pour ^ et $ par ligne, s pour que le point corresponde aux sauts de ligne, plus u et y. (3) Collez le texte d'exemple dans la zone de sujet ; les correspondances sont mises en surbrillance en direct et le compte se met à jour. (4) Inspectez les résultats : chaque correspondance avec son index, et chaque groupe de capture — numéroté et nommé — avec le texte extrait et une vérification rapide de null pour les groupes optionnels qui n'ont pas participé. Les motifs et le texte restent locaux à votre navigateur.
Cinq schémas d'échec expliquent la plupart des bogues regex. Les quantificateurs gourmands qui avalent trop : .* dans <.*> consomme jusqu'au dernier > de la ligne — passez à .*? paresseux ou utilisez des classes négatives comme [^>]*. Caractères spéciaux non échappés : un point littéral doit être \. ou il correspond à n'importe quel caractère, la fuite classique de validation d'e-mail. Ancres manquantes : ^\d{4} sans ^ correspond aux quatre derniers chiffres n'importe où — décidez si une correspondance de sous-chaîne est prévue. Backtracking catastrophique : des quantificateurs imbriqués comme (a+)+ contre une longue entrée non correspondante bloquent les moteurs — déroulez le motif ou ajoutez un comportement possessif atomique là où c'est pris en charge. Et la dérive de plateforme : lookbehind, groupes nommés et échappements de propriétés Unicode varient selon les moteurs, donc testez par rapport au flavor que vous expédiez. Ce testeur utilise le flavor JavaScript, qui correspond exactement aux environnements navigateur et Node.
Le moteur RegExp intégré de JavaScript (ECMAScript) — le même qui s'exécute dans chaque navigateur et dans Node.js. Des constructions comme lookahead (?=...), groupes de non-capture (?:...), groupes nommés (?<name>...) et échappements unicode fonctionnent toutes comme elles le feraient dans un code JavaScript de production.
Des différences de flavor. PCRE (PHP, grep) et le re de Python prennent en charge des variantes de lookbehind, des références arrière dans les motifs et des indicateurs que JavaScript ne possède pas — et vice-versa pour de petits détails. Si un motif fonctionne dans PCRE mais pas ici, cherchez des constructions en dehors de l'ensemble ECMAScript ; la direction inverse implique généralement des groupes nommés spécifiques à JS ou l'indicateur s.
g trouve toutes les correspondances au lieu de s'arrêter à la première ; i rend la correspondance insensible à la casse ; m fait que ^ et $ correspondent à chaque début/fin de ligne plutôt qu'aux bords de la chaîne ; s permet à . de correspondre aux sauts de ligne ; u active le traitement complet de l'unicode (essentiel pour les emoji et le texte non latin). Combiner g avec la surbrillance montre toutes les occurrences, c'est ainsi que cet outil liste les résultats.
Deux indicateurs fonctionnent ensemble : m permet aux ancres (^, $) de se poser sur chaque limite de ligne, et s permet à . de franchir les sauts de ligne. Pour des motifs comme 'début d'une ligne spécifique', utilisez ^votretexte avec m activé. Pour des phrases multilignes, activez soit s soit remplacez les espaces dans votre motif par [\s\S] ou \s+.
Il utilise le moteur RegExp JavaScript avec tous les indicateurs standard : g (global), i (insensible à la casse), m (multiligne), s (dotall), u (unicode) et y (sticky). La surbrillance en direct des correspondances montre toutes les correspondances simultanément. Les groupes de capture sont affichés dans une liste numérotée sous les résultats de correspondance pour un débogage facile.
Oui. Activez l'indicateur m pour le mode multiligne (^ et $ correspondent aux limites de ligne) ou l'indicateur s pour le mode dotall ( . correspond aux sauts de ligne). Ceci est essentiel pour analyser des fichiers journaux, extraire des données de texte structuré et valider des entrées de formulaires multilignes. Tout le traitement se fait à 100 % dans le navigateur.
It uses the JavaScript RegExp engine with all standard flags: g (global), i (case-insensitive), m (multiline), s (dotall), u (unicode), and y (sticky). Live match highlighting shows all matches simultaneously. Capture groups are displayed in a numbered list below the match results for easy debugging.
Yes. Enable the m flag for multiline mode (^ and $ match line boundaries) or the s flag for dotall mode (. matches newlines). This is essential for parsing log files, extracting data from structured text, and validating multiline form input. All processing is 100% in-browser.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.