.*
Developer/Regex Tester

Regex Tester

Test regular expressions with live match highlighting and group capture.

LIVE MATCHLive highlightCapture groupsAll flagsError display
Saved Patterns· Auto-save on
▾
Pattern
//
Test Text
Highlighted Preview
The Quick Brown Fox Jumps Over The Lazy Dog
Matches (9)
"The" @ index 0
"Quick" @ index 4
"Brown" @ index 10
"Fox" @ index 16
"Jumps" @ index 20
"Over" @ index 26
"The" @ index 31
"Lazy" @ index 35
"Dog" @ index 40
Data Source & Legal Disclaimer
Effective: 2026
Sources: Browser-side processing (no external API)

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.

See all data sources & update policy →
Comment ça marchePage 2

How a pattern walks through your text — illustrated

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.

Match → advance → repeat
A1B22C333← cursor never goes backMatch 1 → “1” at index 1Match 2 → “22” at index 3Match 3 → “333” at index 6With /g it records all three. Without it, only “1”.

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.

From vague to precise — three patterns

Same sandwich description, three extraction goals.

  1. Goal: any digits:/d+/g → catches 12 and 34 in “Order #12 · qty 34”
  2. Goal: a price:/\$\d+\.\d{2}/ → matches “9.99” and “19.50” only when dollar-prefixed
  3. Goal: an email-like id:/[a-z]+\d+/gi → case-insensitive run of letters then digits
  4. Trap to watch:Metacharacters must be escaped — a literal “.” needs \., or it matches any character
FAQ et détailsPage 3

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.

À propos de cet outil

Qu'est-ce que cet outil ?

Testez et débogez vos expressions régulières en temps réel, avec surlignage des correspondances et aide-mémoire. Gratuit.

Live highlightCapture groupsAll flagsError display

Qu'est-ce que le Regex Tester ?

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.

Qui devrait utiliser cet outil ?

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.

Comment ça marche ?

(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.

Quelles sont les erreurs regex les plus courantes ?

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.

Questions fréquentes

Quel flavor regex ce testeur utilise-t-il ?

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.

Pourquoi mon motif correspond-il dans un autre outil mais pas ici ?

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.

Que changent réellement les indicateurs g, i, m, s et u ?

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.

Comment faire correspondre du texte qui s'étend sur plusieurs lignes ?

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+.

Quels indicateurs regex et moteur cet outil prend-il en charge ?

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.

Puis-je tester des motifs regex sur du texte multiligne ?

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.

Which regex flags and engine does this tool support?

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.

Can I test regex patterns against multiline text?

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.

Outils connexes

Partager :𝕏inf⬆
Joke of the Day
Oct 22

What do you call a really smart cookie?

Free core, no account

Keep the Free Edition Free

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 tier

100% of proceeds go towards hosting & building more free tools.