Extractor Regex de Salida LLM
Extrae datos estructurados (JSON, bloques de código, pares clave-valor) de respuestas desordenadas de LLM. Elige de plantillas comunes o escribe tu propio regex. Vista previa en vivo.
Introduce un valor arriba para ver el resultado.
¿Para qué sirve?
Le pediste JSON al LLM. Te dio JSON envuelto en fences ```json con un preámbulo "¡Claro, aquí tienes!". O te dio "la respuesta es 42" cuando solo querías 42. O te dio una lista numerada cuando pediste una string separada por comas. Bienvenido al problema de parsing que nadie resuelve de verdad. Esta herramienta lleva una librería pequeña de patterns comunes de extracción más un editor de regex libre, para que itere el pattern con tu texto real en el navegador.
Cuándo usarla
- Diseñar un parser de output para una pipeline de agente. Mete unas cuantas respuestas reales, construye una regex que las cubra todas, pégala en tu código.
- Debug de un parser roto. Tu pipeline de prod empezó a fallar porque el modelo añadió "Aquí está el JSON:" antes del fence. Mira exactamente dónde tu regex deja de matchear.
- Extracción puntual rápida. Tienes diez respuestas de LLM en un doc; necesitas sacar la parte estructurada de cada una. Pegar, matchear, copiar, seguir.
Las plantillas
- JSON en ```json fence — el caso más común. Captura el grupo 1 = el cuerpo. Usa
gsi puede haber varios fences. - JSON en cualquier fence — misma idea pero el tag de lenguaje es opcional y solo capturamos si el cuerpo parece
{ … }o[ … ]. - YAML en fence — igual que JSON-fence pero matchea
```yaml/```yml. - Cualquier bloque fenced — captura tag de lenguaje + cuerpo. Úsalo cuando no sabes qué hay dentro.
- Objeto JSON plano — match greedy del primer
{al último}. Frágil pero funciona para respuestas de "solo JSON". - Items de lista numerada —
^\s*\d+[.)]\s*(.+)$congm. Captura el texto de cada item, sin numeración. - Pares key: value — línea por línea. Grupo 1 = key, grupo 2 = value. Para en el primer dos puntos.
- Etiqueta de clasificación única — útil para clasificadores de sentimiento / safety que deben responder con una palabra.
- Regex custom — limpia el pattern y escribe el tuyo.
La línea "Parsed JSON"
Si el primer grupo capturado (o, fallando eso, el match completo) parsea como JSON, la herramienta imprime el resultado parseado debajo de los grupos. Eso te dice no solo "¿matcheó la regex?" sino "¿matcheó la parte que querías, de forma JSON-decodable?". Si el parsing falla, esa línea queda en blanco.
Errores comunes
- Regex de JavaScript, no PCRE. Sin
\K, sin patterns recursivos. Lookbehind requiere navegadores modernos (post-2018 — bien aquí pero ojo si copias el pattern a otro lado). - El modelo envuelve su JSON en comentarios. No intentes buscar
{al inicio del string — busca el fence o usa un capture no-greedy tolerante. - Trailing commas en el "JSON" de salida. Algunos modelos cuelan trailing commas a pesar del training. El match regex funcionará;
JSON.parsefallará. Quita trailing commas antes de parsear. - "JSON" con comillas simples. Misma historia — parece JSON, no es JSON válido, a la regex le da igual, a
JSON.parseno. - Fences anidados. Si el modelo mete un ejemplo de fence markdown dentro de su respuesta, puedes tener falso-positivo en el fence interno. Prueba con datos realistas.
- No uses regex para extracción seria de brackets anidados. Si el modelo devuelve un objeto con un objeto con un array de objetos, escribe un extractor JSON-aware — o pide el formato fence y parsea el cuerpo.
- Privacidad. El texto y el pattern se quedan en la página. Sin subida, sin llamada a API.