Visualiseur de regex
Transformez vos expressions régulières en diagrammes de chemin de fer interactifs, explorez l'arborescence AST et testez les correspondances en direct : 100 % gratuit et côté client.
Type any regular expression to see its railroad diagram, AST breakdown, and live match highlighting - entirely in your browser with no data sent to any server.
Quick Reference
.Any char (except \n)\dDigit [0-9]\wWord char [a-zA-Z0-9_]\sWhitespace^Start of string/line$End of string/line\bWord boundary(…)Capturing group(?:…)Non-capturing group(?<n>…)Named group(?=…)Positive lookahead(?!…)Negative lookahead*Zero or more (greedy)+One or more (greedy)?Zero or one{n,m}Between n and m times|Alternation (OR)[…]Character class[^…]Negated class\1Back-referenceFonctionnalités
- Diagramme de chemin de fer interactif : Voyez votre expression régulière rendue comme un diagramme de chemin de fer/syntaxe professionnel en temps réel. Chaque token (littéraux, groupes, quantificateurs, alternances et lookaheads) s'affiche comme une voie visuelle navigable.
- Décomposition AST avec arbre de tokens : Explorez un arbre syntaxique abstrait repliable montrant chaque nœud analysé (séquences, alternances, groupes nommés, quantificateurs, rétroréférences) avec des descriptions lisibles pour cibler précisément ce que fait chaque partie de votre regex.
- Test de correspondance en direct avec surlignage : Collez une chaîne de test et voyez les correspondances se surligner instantanément. Un tableau des groupes de capture affiche chaque correspondance avec ses valeurs de groupe numérotés et nommés, ce qui vous aide à vérifier la justesse avant la mise en production.
- 100 % gratuit, sans inscription ni serveur : Toute l'analyse, la génération de diagrammes et l'évaluation des correspondances s'exécutent directement dans votre navigateur avec le moteur regex natif de JavaScript. Aucune donnée ne quitte votre appareil, ce qui rend l'outil sûr pour des motifs sensibles comme des règles d'authentification ou des validateurs de données personnelles.
Cas d'usage
- Débogage de motifs : Repérez immédiatement les groupes mal appariés, les pièges de quantificateurs gourmands et les problèmes d'ordre d'alternance sans exécuter de code, en inspectant simplement le diagramme visuel.
- Revues de code : Partagez un lien vers une regex visualisée lors des revues de pull requests pour que les relecteurs vérifient l'intention sans analyser mentalement des séquences d'échappement brutes.
- Audit de sécurité : Auditez les motifs de validation d'entrée à la recherche de risques de retour arrière catastrophique (ReDoS). L'arbre AST rend immédiatement visibles les quantificateurs imbriqués et les alternances ambiguës.
- Apprendre les expressions régulières : Les débutants peuvent saisir des motifs simples puis ajouter progressivement des fonctionnalités en voyant exactement comment chaque classe de caractères, quantificateur ou groupe modifie le diagramme.
- Génération de documentation : Exportez ou capturez des diagrammes de chemin de fer pour la documentation d'API, les wikis ou les articles techniques afin d'expliquer une logique de validation complexe sans longs textes.
- Tests multiplateformes : Testez le comportement d'un motif sur plusieurs chaînes d'exemple à la fois et vérifiez l'extraction de groupes de capture nommés utilisée dans le routage d'URL, les analyseurs de logs ou les découpages CSV.
Comment fonctionne le diagramme de chemin de fer
Un diagramme de chemin de fer (ou de syntaxe) représente une grammaire formelle comme un ensemble de voies. Le motif se lit de gauche à droite : chaque token est une boîte étiquetée reliée par des lignes. En cas de choix (alternance via | ), les voies se séparent verticalement puis se rejoignent après les alternatives. Lorsqu'un token est facultatif ou répété, un arc de boucle est dessiné au-dessus de l'élément pour indiquer le quantificateur. Cela correspond au modèle mental utilisé par la plupart des développeurs lorsqu'ils raisonnent sur une regex : de gauche à droite, avec des branches pour le choix et des boucles pour la répétition.
Décomposition de l'AST
À côté du diagramme, l'onglet de décomposition de l'AST affiche l'arbre syntaxique abstrait complet analysé à partir de votre motif. Chaque nœud possède un type (séquence, alternance, groupe, quantificateur, littéral, classe de caractères, échappement, ancre, rétroréférence) et une description lisible. L'arbre est entièrement repliable : vous pouvez donc vous concentrer sur des sous-motifs précis sans perdre le contexte.
Test de correspondance en direct
L'onglet « Tester et comparer » vous permet de coller un exemple d'entrée et de voir immédiatement quelles portions de la chaîne correspondent à votre motif. Les correspondances sont surlignées en ligne et un tableau des groupes de capture affiche chaque groupe numéroté et nommé extrait de chaque correspondance, les mêmes données que reçoit votre code applicatif via String.prototype.matchAll() ou RegExp.prototype.exec() .
Syntaxe prise en charge
Le visualiseur prend en charge l'ensemble des fonctionnalités regex ECMAScript, notamment les classes de caractères ( [a-z] , [^0-9] ), les échappements abrégés ( \d , \w , \s ), les ancres ( ^ , $ , \b ), les groupes capturants et non capturants, les groupes nommés via , les lookaheads ( (?=…) , (?!…) ), les lookbehinds ( (?<=…) , (?<!…) ), les rétroréférences ( \1 , \k<nom> ) et tous les quantificateurs, y compris les variantes paresseuses ( *? , +? , ?? ).
Foire aux questions
Un diagramme de chemin de fer (ou de syntaxe) représente une regex comme un réseau de voies qui se lit de gauche à droite. Les choix (alternances) se divisent en voies parallèles puis se rejoignent. Les éléments répétés (quantificateurs) affichent un arc de boucle au-dessus de la boîte. La visualisation reflète directement la façon dont le moteur de regex parcourt le motif.
Tout s'exécute entièrement dans votre navigateur. L'analyseur est du TypeScript pur, le diagramme est rendu en SVG avec React et le moteur de correspondance est le RegExp natif de JavaScript. Aucune donnée n'est envoyée à un serveur, ce qui rend l'outil sûr pour les motifs sensibles.
Le visualiseur prend en charge toute la grammaire regex ECMAScript : classes de caractères, échappements abrégés (\d, \w, \s), ancres, groupes (capturants, non capturants, nommés), lookaheads, lookbehinds, rétroréférences et tous les quantificateurs, y compris les variantes paresseuses. Les motifs peuvent être saisis en texte brut ou en notation /motif/flags.
Basculez vers l'onglet « Tester et comparer » et collez votre exemple d'entrée dans la zone de texte. Les correspondances sont surlignées en ligne en temps réel. Un tableau ci-dessous présente chaque correspondance avec ses valeurs de groupes de capture numérotés et nommés, exactement ce que reçoit votre application en appelant exec() ou matchAll().
L'onglet Arbre syntaxique abstrait (AST) affiche un arbre repliable de chaque nœud analysé : séquence, alternance, groupe, quantificateur, littéral, classe de caractères, échappement, ancre et rétroréférence, avec une description en langage clair de chaque nœud.
Oui, en partie. L'arbre AST rend immédiatement visibles les quantificateurs imbriqués et les alternances ambiguës, les deux causes les plus fréquentes de retour arrière catastrophique (ReDoS). Repérer des motifs comme (?:a+)+ dans le diagramme aide à identifier le danger avant la mise en production.
Les flags modifient la façon dont le moteur évalue le motif. L'outil prend en charge : g (global : trouver toutes les correspondances), i (insensible à la casse), m (multiligne : ^ et $ correspondent aux limites de ligne) et s (dot-all : . correspond aux sauts de ligne). Activez les flags avec les boutons à côté du champ, ou incluez-les dans la notation /motif/flags.