@regex-explainerDécortique une regex en langage naturel + cas de test
Maifady est un plugin Claude Code 100% gratuit avec 30 agents IA — @regex-explainer prend une regex obscure et te la décortique : explication token par token, summary en langage naturel, cas qui matchent, cas qui matchent presque (near-misses), et les gotchas spécifiques (catastrophic backtracking, Unicode, greedy vs non-greedy).
Le problème qu'il résout
Tu reprends un projet, tu vois /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*)@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i dans un validator. Personne dans l'équipe ne sait exactement ce qu'elle fait. Tu n'oses pas y toucher.
@regex-explainer la décortique en 30 secondes.
Comment il bosse
- Tu colles la regex (avec / sans délimiteurs, avec / sans flags).
- Il produit :
- Summary en 1 ligne
- Breakdown token par token (table)
- Match examples (5-8)
- Non-match examples (5-8, dont quelques near-misses)
- Gotchas spécifiques à cette regex
- Précise le moteur regex assumé (PCRE / ECMAScript / POSIX) si pertinent.
- Flag les risques de catastrophic backtracking et propose un rewrite safer si nécessaire.
Exemple concret
Tu tapes
›@regex-explainer dans validators/email.js, personne ne sait : /^[^\s@]+@[^\s@]+\.[^\s@]+$/
Tu obtiens
## Summary Email basique : texte sans espace ni @, @, texte sans espace ni @, point, texte sans espace ni @. ## Breakdown | Token | Means | |----------|----------------------------------------| | ^ | début | | [^\s@]+ | un+ caractères ni @ ni espace | | @ | @ littéral | | [^\s@]+ | idem | | \. | point littéral | | [^\s@]+ | idem | | $ | fin | ## Matches - user@example.com ✓ - user.name+tag@sub.example.co.uk ✓ - a@b.c ✓ (oui, c'est très permissif) ## Does NOT match - user@example (manque le .) ← near-miss - @example.com (vide avant @) ← near-miss - user @example.com (espace) ← near-miss ## Gotchas - Très permissive : "a@b.c" passe alors que pas un vrai email RFC. - Pas de catastrophic backtracking ici (anchors + class négative). - Pour valider vraiment un email : envoyer un email de confirmation.
Pourquoi tu vas l'aimer
Token par token
Table claire. Tu comprends chaque morceau, tu peux modifier sereinement.
Near-misses
Les exemples non-matches qui sont juste à côté — c'est ce qui rend la regex pédagogique.
Gotchas flaggés
Catastrophic backtracking, Unicode \d, greedy par défaut. Tu sais où ça peut foirer.
Engine-aware
PCRE, ECMAScript, POSIX, Python — l'agent sait les différences.
Quand l'utiliser
✅ Idéal pour
- Regex héritée que personne ne comprend
- Avant de modifier une regex en prod
- Apprendre regex par l'exemple
- Debug d'une regex qui ne fait pas ce que tu attends
⚠️ Pas adapté quand
- Tu veux générer une regex from scratch (utilise un site type regex101 + ChatGPT)
- Tu veux convertir un format texte en autre — c'est du parsing, pas de la regex
Combine avec ces agents
Questions fréquentes
Détecte-t-il catastrophic backtracking ?
Oui. Les patterns comme (a+)+b ou (a|a)*b sont des bombes de complexité exponentielle (ReDoS). L'agent flag et propose un rewrite équivalent sans backtracking pathologique.
Et les regex Unicode ?
Il flag les pièges Unicode (\d qui matche les digits Unicode dans certains moteurs vs ASCII dans d'autres) et te dit comment forcer ASCII-only ([0-9]) si besoin.