Extracteur Regex de Sortie LLM
Extrayez des données structurées (JSON, blocs de code, paires clé-valeur) de réponses LLM brouillonnes. Choisissez parmi des modèles courants ou écrivez votre propre regex. Aperçu en direct.
Saisissez une entrée ci-dessus pour voir le résultat.
À quoi ça sert ?
Vous avez demandé du JSON au LLM. Il vous a renvoyé du JSON enveloppé dans des fences ```json avec un préambule « Bien sûr, voici ! ». Ou « la réponse est 42 » alors que vous vouliez juste 42. Ou une liste numérotée alors que vous demandiez une chaîne séparée par des virgules. Bienvenue dans le problème de parsing que personne ne résout vraiment. Cet outil garde une petite bibliothèque de patterns d'extraction courants plus un éditeur de regex libre, pour itérer le motif sur votre vrai texte de réponse dans le navigateur.
Quand l'utiliser
- Concevoir un output parser pour un pipeline d'agent. Balancez quelques réponses réelles dedans, construisez une regex qui les couvre toutes, collez-la dans votre code.
- Déboguer un parser cassé. Votre pipeline prod a commencé à échouer parce que le modèle a ajouté « Voici le JSON : » avant le fence. Voyez précisément où votre regex décroche.
- Extraction one-shot rapide. Vous avez dix réponses LLM dans un doc ; il faut extraire la partie structurée de chacune. Coller, matcher, copier, suivant.
Les modèles
- JSON dans un fence ```json — le cas le plus courant. Capture le groupe 1 = le corps.
gs'il peut y avoir plusieurs fences. - JSON dans n'importe quel fence — même idée mais le tag de langue est optionnel, et on capture seulement si le corps ressemble à
{ … }ou[ … ]. - YAML dans fence — pareil que JSON-fence mais matche
```yaml/```yml. - N'importe quel bloc de code fenced — capture tag de langue + corps. À utiliser quand on ne sait pas ce qu'il y a dedans.
- Objet JSON brut — match greedy du premier
{au dernier}. Fragile mais fonctionne pour les réponses « juste du JSON ». - Items de liste numérotée —
^\s*\d+[.)]\s*(.+)$avecgm. Capture le texte de chaque item, sans numérotation. - Paires key: value — ligne par ligne. Groupe 1 = clé, groupe 2 = valeur. S'arrête au premier deux-points.
- Étiquette de classification unique — utile pour classificateurs sentiment / safety qui doivent répondre par un mot.
- Regex custom — videz le motif et écrivez le vôtre.
La ligne « Parsed JSON »
Si le premier groupe capturé (ou, à défaut, le match complet) parse comme JSON, l'outil affiche le résultat parsé sous les groupes. Ça vous dit non seulement « la regex a-t-elle matché » mais « a-t-elle matché la partie voulue, de façon décodable en JSON ». Si le parsing échoue, cette ligne reste vide.
Pièges courants
- Regex JavaScript, pas PCRE. Pas de
\K, pas de motifs récursifs. Le lookbehind exige des navigateurs modernes (post-2018 — bien ici mais attention si vous copiez le motif ailleurs). - Le modèle emballe son JSON dans du commentaire. N'essayez pas de chercher
{en début de chaîne — trouvez le fence ou utilisez un capture non-greedy tolérant. - Virgules en trop dans le « JSON » de sortie. Certains modèles glissent des trailing commas malgré le training. La regex matchera ;
JSON.parseéchouera. Retirez les trailing commas avant de parser. - « JSON » à apostrophes simples. Même histoire — ressemble à du JSON, n'est pas du JSON valide, la regex s'en fiche, pas
JSON.parse. - Fences imbriqués. Si le modèle met un exemple de fence markdown dans sa réponse, faux-positif possible sur le fence interne. Testez avec des données réalistes.
- N'utilisez pas la regex pour de l'extraction sérieuse de brackets imbriqués. Si le modèle renvoie un objet contenant un objet contenant un tableau d'objets, écrivez un extracteur JSON-aware — ou demandez la forme fence et parsez le corps.
- Confidentialité. Le texte et le motif restent dans la page. Pas d'upload, pas d'appel API.