🤖 Divers · Free

@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).

Télécharger MaifadyVoir les 30 agents

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

  1. Tu colles la regex (avec / sans délimiteurs, avec / sans flags).
  2. 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
  3. Précise le moteur regex assumé (PCRE / ECMAScript / POSIX) si pertinent.
  4. 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.

Prêt à comprendre tes regex ?

Télécharger Maifady