Ce que ça fait
Le Regex Explainer transforme une expression régulière en une décomposition token par token, en langage courant. Chaque token — ancre, classe de caractères, quantificateur, groupe, échappement, alternance ou littéral — obtient sa propre ligne montrant le fragment exact et ce qu’il reconnaît, plus un compte de tokens et une explication de chaque drapeau défini. Les motifs invalides montrent l’erreur propre du moteur JavaScript dans un encadré rouge au lieu de casser la page. Parfait pour apprendre les regex ou déchiffrer celle trouvée dans une base de code. 100 % côté client ; rien n’est envoyé nulle part.
Comment l’utiliser
- Saisissez un Motif (sans délimiteurs). La décomposition se met à jour à la frappe.
- Définissez au besoin des Drapeaux — le champ accepte
g i m s u d y; tout autre caractère est retiré. - Ou touchez une puce d’exemple — Email, Capture de date, URL, Lookahead — pour charger un motif prêt à l’emploi avec ses drapeaux.
- Lisez le rapport à droite (épinglé sur ordinateur) : une ligne par token, le badge de compte de tokens en haut, et chaque drapeau actif avec son sens.
- Copier la décomposition copie l’explication complète en texte brut ; la barre d’adresse transporte toujours votre motif (
?p=et?f=), donc copier l’URL partage la vue exacte.
Une regex invalide (p. ex. un [ non fermé) montre le message d’erreur du moteur — Invalid regular expression: missing terminating ] for character class pour [ — avec un badge Invalide, et ne lève jamais d’exception.
Exemples
Toutes les explications ci-dessous sont la sortie réelle de l’outil pour chaque entrée.
Motif façon téléphone — ^\d{3}-\d{4}$ avec le drapeau g (l’Exemple intégré, 7 tokens) :
| Token | Explication |
|---|---|
^ |
start of the string (or line with /m) |
\d |
a digit [0-9] |
{3} |
quantifier - repeat 3 time(s) |
- |
the literal “-” |
\d |
a digit [0-9] |
{4} |
quantifier - repeat 4 time(s) |
$ |
end of the string (or line with /m) |
Drapeau g → global - find all matches.
Motif façon e-mail — [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,} avec les drapeaux gi (la puce Email, 8 tokens), extrait :
[a-zA-Z0-9._%+-]→match any of: a-zA-Z0-9._%+-+→quantifier - 1 or more times (greedy)@→the literal "@"\.→an escaped literal "."{2,}→quantifier - repeat 2, time(s)- Drapeau
i→case-insensitive
Capture de date — (\d{4})-(\d{2})-(\d{2}) (la puce Capture de date, 5 tokens) : trois lignes capturing group (pour (\d{4}), (\d{2}), (\d{2})) séparées par deux lignes the literal "-".
Lookahead — \d+(?=px) (la puce Lookahead, 3 tokens) : a digit [0-9], quantifier - 1 or more times (greedy), puis (?=px) → lookahead assertion (positive).
Bon à savoir
- Référence des drapeaux (chaque drapeau affiche son sens à côté de sa lettre) :
gglobal - find all matches ·icase-insensitive ·mmultiline (^ and $ match line boundaries) ·sdotAll - “.” matches newlines ·uunicode ·ysticky - match at lastIndex ·dindices - expose match boundaries. - Prend en charge la syntaxe
RegExpde JS ; les extensions d’autres moteurs (classes POSIX,\p{...}sansu) peuvent s’analyser différemment. - Privé : l’analyse est entièrement locale, dans votre navigateur.
- Outils liés : Regex Tester (exécute les correspondances en direct), Find & Replace, JSON to TypeScript.