Toolivaro

Testeur de regex gratuit

Testez vos expressions régulières en direct sur votre propre texte, avec surlignage des correspondances, groupes de capture et drapeaux — entièrement local.

Le testeur de regex valide un motif et affiche chaque correspondance sur votre propre texte pendant que vous tapez — sans aller-retour vers un serveur. Collez ou saisissez n'importe quel texte, entrez un motif, activez les drapeaux standards (global, insensible à la casse, multiligne, dotAll, unicode, sticky), et l'outil liste chaque correspondance avec sa position, le texte correspondant et les groupes de capture produits. Les motifs sont compilés avec le moteur RegExp ECMAScript de la plateforme : le comportement que vous testez ici est exactement celui que vous obtiendrez en JavaScript, dans Node.js et dans tous les navigateurs modernes — l'outil promet la fidélité au moteur, pas un dialecte d'approximation. Les motifs malformés renvoient le message d'erreur de la plateforme pour que vous puissiez les corriger rapidement, et une limite de sécurité sur l'analyse des correspondances empêche les motifs pathologiques de figer la page. Tout s'exécute localement dans votre navigateur : le texte que vous collez — extraits de journaux, configuration, données personnelles — n'est jamais téléversé, journalisé ni stocké. Utilisez cet outil pour écrire un validateur, déboguer un analyseur de journaux, ou avant de vous fier à un motif dans du code de production.

Traité localement dans votre navigateur

Modificateurs

Comment utiliser cette calculatrice

Building a pattern the way the engine sees it

A regular expression is a miniature program: the engine walks your text, and at every position it asks whether the pattern matches starting there. The tester makes that walk visible — every match is listed with its position, the exact text it matched, and the capture groups it produced, updated as you type. Start with the literal that must appear (request_id=, say), add the flexible parts around it (a w+ for the value), and check the result against real lines from your data before you trust it anywhere.

The engine here is the platform’s ECMAScript RegExp — the same one JavaScript, Node.js, Deno, and every modern browser use. That is the point of the tool’s fidelity promise: a pattern that matches here matches in your code, and one that fails here will fail there. Dialects like PCRE (PHP, grep, regex101’s default) have features ECMAScript lacks or spells differently — lookbehind syntax, named-group conventions, atomic groups — and the tester rejects them with the platform’s error message rather than pretending to support a dialect it does not run.

Using the flags deliberately

Flags are not decorations — they change what the pattern means. Without g, the engine stops at the first match, and the classic "why does my pattern match once?" confusion is usually a missing g. Without m, the anchors ^ and $ bind to the whole string, not to line boundaries, so a pattern that should match each log line silently matches nothing when the text has multiple lines. The s flag is the one that surprises everyone: . matches every character except line breaks unless s is set, so patterns that should span lines fail on the newline. And the difference between the unicode u and non-unicode modes changes how astral characters like emoji are treated — a point where the ECMAScript engine is stricter than older dialects.

The tester shows the flags you have set at a glance and re-runs the scan on every change, so each flag’s effect is visible the moment you toggle it. That is the fastest way to learn what a flag does: switch it, watch the match list change.

Reading matches, groups, and failures

Each result row shows the matched text, its start position, and its capture groups — the parts of the pattern inside parentheses, which are the values your code will actually consume. The classic use is extraction: with /request_id=(w+)/g against a log line, group 1 holds the id, and the tester shows both matches and their group values before you wire the pattern into a pipeline.

A pattern that matches nothing is a bug report, not a puzzle: the tool shows every match position so the failure is visible at a glance — the pattern matched a different place than you expected, or matched zero times because of a missing flag, a literal space, or an anchor bound to the wrong position. Malformed patterns return the platform’s own error message, which names the position of the problem, so fixing is a matter of reading the message rather than guessing.

Safety and the honest limits

Regular expressions can be pathological: certain patterns take exponential time on certain inputs — the classic "catastrophic backtracking" failure mode — and the tester caps match scanning so a hostile pattern cannot freeze the page. The cap is disclosed; extremely large texts or pathological patterns are truncated with a notice rather than run to completion.

Two things the tool deliberately does not do: it does not judge whether a pattern is efficient enough for production traffic (that is a load-testing question), and it does not claim your pattern is correct in the abstract — it shows what the engine does with your text, which is the only honest answer. And because patterns and pasted text often contain credentials and personal data, everything runs locally: nothing is uploaded, logged, or stored.

Comment le résultat est-il calculé ?

Extraction d'identifiants depuis des lignes de journal

Avec des lignes de journal comme « 2026-08-05 09:30 ERROR request_id=7f3a user=ada », le motif /request_id=(\w+)/g correspond à chaque identifiant de requête et capture la valeur dans le groupe 1. Le testeur liste les deux correspondances avec leurs positions et leurs groupes de capture, pour que vous puissiez confirmer le motif avant de l'utiliser dans un pipeline de journaux.

Exemple d'entrée et de sortie
Entrée Valeur
text 2026-08-05 09:30 ERROR request_id=7f3a user=ada 2026-08-05 09:31 ERROR request_id=9c21 user=bob
pattern request_id=(\w+)
flags g
Résultat 2 correspondances · groupe 1 : 7f3a, 9c21

Quelle est la formule et ses hypothèses ?

Sémantique des correspondances

matches = text.scan(pattern, flags)

Termes de la formule
Symbole Signification
pattern expression régulière ECMAScript (moteur RegExp de la plateforme)
flags g (global), i (insensible à la casse), m (multiligne), s (dotAll), u (unicode), y (sticky)

Le comportement est exactement celui du moteur de la plateforme : ce qui correspond ici correspond en JavaScript, dans Node.js et dans les navigateurs.

Quelles sont les erreurs les plus courantes ?

  • Tester avec le drapeau g mais ne lire que le premier résultat — avec /g, le moteur avance à travers chaque correspondance.
  • Attendre des fonctionnalités PCRE (comme le lookbehind d'avant ES2018) dans un motif ECMAScript.
  • Oublier que . ne correspond pas aux retours à la ligne, sauf si le drapeau s est activé.
  • Coller des motifs ou du texte contenant des secrets dans un service web — cet outil est entièrement local.

Quelles sont les hypothèses et les limites ?

  • Le dialecte est ECMAScript uniquement ; les fonctionnalités de type PCRE/RE2 absentes d'ECMAScript sont rejetées avec l'erreur de la plateforme.
  • L'analyse des correspondances est plafonnée par sécurité ; les textes extrêmement longs ou les motifs pathologiques peuvent être tronqués avec un avertissement.
  • L'outil montre ce que le moteur fait correspondre — il ne peut pas juger si un motif est efficace ou sûr pour une charge de production.

D'où viennent les chiffres ?

Dernière révision 5 août 2026 · Version 1.0.0 · Toolivaro ne garantit pas les contenus externes.

Questions fréquentes

Quel dialecte de regex cet outil utilise-t-il ?

Le moteur ECMAScript de la plateforme — le même dialecte que JavaScript, Node.js, Deno et les navigateurs. Les dialectes PCRE (PHP, grep, le défaut de regex101) offrent des fonctionnalités supplémentaires, comme des variantes de lookbehind ou des groupes nommés avec une syntaxe différente ; elles ne font pas partie d'ECMAScript.

Pourquoi mon motif ne correspond-il à rien ?

Causes courantes : le drapeau g manquant quand vous attendez plusieurs correspondances, l'oubli que les ancres ^ et $ ne matchent les limites de ligne qu'avec le drapeau m, et les motifs qui contiennent des espaces littérales par accident. L'outil affiche chaque correspondance avec sa position, l'échec est donc généralement visible d'un coup d'œil.

Mon texte est-il envoyé quelque part ?

Non. Le motif et le texte sont traités entièrement dans l'onglet de votre navigateur — rien n'est téléversé, journalisé ni stocké. Un point important pour les extraits de journaux et les fichiers de configuration qui contiennent souvent des identifiants ou des données personnelles.

What does the u (unicode) flag actually change?

It switches the engine to strict Unicode mode: astral characters (emoji, rare scripts) are treated as single code points instead of surrogate halves, and some otherwise-lenient syntax becomes an error. Patterns that work without u can behave differently with it — the tester makes the difference visible as you toggle.

Can I use the same pattern in Python or Go?

Not safely — those languages use different engines (Python’s re, Go’s RE2). The fidelity promise here is specifically ECMAScript: what matches here matches in JavaScript, Node.js, Deno, and browsers. Porting a pattern to another language means re-testing it in that language’s tester.

Fait partie de Boîte à outils texte et JSON pour développeurs

Vous avez repéré une erreur ou souhaitez une correction ? Signalez-la — chaque correction est examinée.

Ce calculateur vous a été utile ?

Relu par l'équipe éditoriale de Toolivaro selon notre méthodologie Méthodologie · Politique éditoriale