Extrator Regex de Saída LLM
Extraia dados estruturados (JSON, blocos de código, pares chave-valor) de respostas confusas de LLM. Escolha entre templates comuns ou escreva sua própria regex. Preview ao vivo.
Digite uma entrada acima para ver o resultado.
Para que serve?
Você pediu JSON pro LLM. Ele te deu JSON envolvido em fences ```json com um preâmbulo "Claro, aqui está!". Ou te deu "a resposta é 42" quando você queria só 42. Ou te deu uma lista numerada quando você pediu uma string separada por vírgulas. Bem-vindo ao problema de parsing que ninguém resolve direito. Esta ferramenta mantém uma pequena biblioteca de patterns comuns de extração mais um editor de regex livre, pra você iterar o pattern com seu texto de resposta real no browser.
Quando usar
- Desenhar um parser de output pra uma pipeline de agente. Joga umas respostas reais dentro, monta uma regex que cobre todas, cola no código.
- Debugar um parser quebrado. Sua pipeline de prod começou a falhar porque o modelo adicionou "Aqui está o JSON:" antes do fence. Veja exatamente onde sua regex para de matchear.
- Extração rápida pontual. Você tem dez respostas de LLM num doc; precisa extrair a parte estruturada de cada uma. Colar, matchear, copiar, seguir.
Os templates
- JSON em fence ```json — o caso mais comum. Captura grupo 1 = o corpo. Use
gse pode ter vários fences. - JSON em qualquer fence — mesma ideia mas o tag de linguagem é opcional, e só capturamos se o corpo parece
{ … }ou[ … ]. - YAML em fence — igual JSON-fence mas matcha
```yaml/```yml. - Qualquer bloco fenced — captura tag de linguagem + corpo. Use quando não sabe o que tem dentro.
- Objeto JSON puro — match guloso do primeiro
{até o último}. Frágil mas funciona pra respostas "só JSON". - Itens de lista numerada —
^\s*\d+[.)]\s*(.+)$comgm. Captura o texto de cada item, sem numeração. - Pares key: value — linha a linha. Grupo 1 = chave, grupo 2 = valor. Para no primeiro dois-pontos.
- Label de classificação único — útil pra classificadores de sentimento / safety que respondem com uma palavra só.
- Regex custom — limpe o pattern e escreva o seu.
A linha "Parsed JSON"
Se o primeiro grupo capturado (ou, na falta, o match completo) parseia como JSON, a ferramenta imprime o resultado parseado embaixo dos grupos. Isso te diz não só "a regex matcheou" mas "matcheou a parte que você queria, de jeito JSON-decodable". Se o parsing falha, essa linha fica em branco.
Pegadinhas comuns
- Regex JavaScript, não PCRE. Sem
\K, sem patterns recursivos. Lookbehind precisa de browsers modernos (pós-2018 — ok aqui, mas atenção se copiar pra outro lugar). - O modelo embrulha o JSON dele em comentário. Não tente buscar
{no início da string — encontre o fence ou use um capture não-guloso tolerante. - Trailing commas no "JSON" de saída. Alguns modelos enfiam trailing commas apesar do training. A regex vai matchear;
JSON.parsevai falhar. Tire as trailing commas antes de parsear. - "JSON" com aspas simples. Mesma história — parece JSON, não é JSON válido, a regex não liga,
JSON.parseliga. - Fences aninhados. Se o modelo coloca um exemplo de fence markdown dentro da resposta, dá pra ter falso-positivo no fence interno. Teste com dados realistas.
- Não use regex pra extração séria de brackets aninhados. Se o modelo retorna um objeto contendo um objeto contendo um array de objetos, escreve um extrator JSON-aware — ou peça a forma fence e parseie o corpo.
- Privacidade. Texto e pattern ficam na página. Sem upload, sem chamada de API.