Estrattore Regex Output LLM
Estrai dati strutturati (JSON, blocchi di codice, coppie chiave-valore) da risposte LLM disordinate. Scegli tra template comuni o scrivi la tua regex. Anteprima live.
Inserisci un input sopra per vedere il risultato.
A cosa serve?
Hai chiesto JSON al LLM. Ti ha dato JSON avvolto in fence ```json con un preambolo "Certo, eccolo!". O ti ha dato "la risposta è 42" quando volevi solo 42. O ti ha dato una lista numerata quando hai chiesto una stringa separata da virgole. Benvenuto al problema di parsing che nessuno risolve davvero. Questo strumento tiene una piccola libreria di pattern di estrazione comuni più un editor di regex libero, così iteri il pattern sul tuo testo di risposta reale nel browser.
Quando usarlo
- Progettare un output parser per una pipeline ad agente. Butta dentro qualche risposta reale, costruisci una regex che le copre tutte, incollala nel codice.
- Debugare un parser rotto. La tua pipeline di prod ha iniziato a fallire perché il modello ha aggiunto "Ecco il JSON:" prima del fence. Vedi esattamente dove la tua regex molla.
- Estrazione veloce una tantum. Hai dieci risposte LLM in un doc; devi estrarre la parte strutturata da ciascuna. Incolla, matcha, copia, avanti.
I template
- JSON in fence ```json — il caso più comune. Cattura il gruppo 1 = il corpo. Usa
gse possono esserci più fence. - JSON in qualsiasi fence — stessa idea ma il tag della lingua è opzionale e catturiamo solo se il corpo somiglia a
{ … }o[ … ]. - YAML in fence — come JSON-fence ma matcha
```yaml/```yml. - Qualunque blocco fenced — cattura tag lingua + corpo. Quando non sai cosa c'è dentro.
- Oggetto JSON nudo — match greedy dal primo
{all'ultimo}. Fragile ma funziona per risposte "solo JSON". - Item di lista numerata —
^\s*\d+[.)]\s*(.+)$congm. Cattura il testo di ogni item, senza numerazione. - Coppie key: value — riga per riga. Gruppo 1 = chiave, gruppo 2 = valore. Si ferma al primo due-punti.
- Etichetta di classificazione singola — utile per classificatori di sentiment / safety che devono rispondere con una parola.
- Regex custom — svuota il pattern e scrivi il tuo.
La riga "Parsed JSON"
Se il primo gruppo catturato (o, in mancanza, il match completo) parsa come JSON, lo strumento stampa il risultato parsato sotto i gruppi. Ti dice non solo "la regex ha matchato" ma "ha matchato la parte che volevi, in modo decodificabile come JSON". Se il parsing fallisce, quella riga resta vuota.
Trappole comuni
- Regex JavaScript, non PCRE. Niente
\K, niente pattern ricorsivi. Lookbehind richiede browser moderni (post-2018 — ok qui ma attenzione se copi altrove). - Il modello avvolge il suo JSON in commento. Non cercare
{a inizio stringa — trova il fence o usa un capture non-greedy tollerante. - Virgole in eccesso nel "JSON" di output. Alcuni modelli infilano trailing commas nonostante il training. La regex matcha;
JSON.parsefallisce. Togli le trailing commas prima di parsare. - "JSON" con apostrofi singoli. Stessa storia — sembra JSON, non è JSON valido, alla regex non importa, a
JSON.parsesì. - Fence annidati. Se il modello mette un esempio di fence markdown dentro la risposta, puoi avere falso-positivo sul fence interno. Testa con dati realistici.
- Non usare regex per estrazione seria di parentesi annidate. Se il modello torna un oggetto che contiene un oggetto che contiene un array di oggetti, scrivi un estrattore JSON-aware — o chiedi la forma fence e parsa il corpo.
- Privacy. Testo e pattern restano nella pagina. Niente upload, niente chiamata API.