ForHosting KIT · Texto e IA

Remover linhas que correspondem a regex

Filtre linhas por padrão: com ^DEBUG\b, um log de cinco linhas perde as 2 linhas DEBUG e mantém intactas as 3 de INFO e ERROR. Você também vê quantas linhas saíram e quantas ficaram. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Padrão
^DEBUG\b
Você obtém
Texto
INFO Server started ERROR Connection lost INFO Server ready
Quantidade removida
2
Quantidade mantida
3

Remover linhas por regex filtra textos com várias linhas, testando cada uma separadamente com uma expressão regular e descartando todas as correspondências. É útil quando as linhas que você precisa retirar compartilham um padrão, como nível de log, comentário gerado, data e hora, prefixo de identificador ou tipo de registro estruturado. O resultado preserva exatamente cada linha mantida, inclusive sua terminação original, e informa quantas linhas foram removidas e conservadas para que fluxos automatizados confirmem a alteração.

Escreva um padrão para a linha que você deseja remover

Informe a origem em text e uma expressão regular JavaScript em pattern. Digite apenas a expressão, sem barras delimitadoras: use <code>^DEBUG\b</code>, por exemplo, em vez de <code>/^DEBUG\b/</code>. Cada linha é testada separadamente e removida quando qualquer trecho corresponde.

Acrescente <code>^</code> quando o texto relevante precisar aparecer no início, <code>$</code> quando precisar estar no fim e ambos quando a linha inteira tiver de atender à regra. Um padrão como <code>^\s*#</code> remove linhas cujo primeiro caractere não branco é uma cerquilha, enquanto <code>temporary$</code> retira linhas terminadas nessa palavra. A correspondência diferencia maiúsculas de minúsculas e usa a sintaxe padrão de expressões regulares JavaScript.

Comece com uma regra restrita, confira as contagens e o texto filtrado e só então amplie o padrão se o resultado confirmar a seleção desejada.

Entenda o tratamento de terminações e linhas vazias

O filtro reconhece quebras de linha Unix, pares de retorno de carro e quebra de linha do Windows e retornos de carro isolados. Ele mantém a terminação original vinculada a cada linha restante, portanto uma entrada mista ou específica de uma plataforma não é normalizada silenciosamente. A expressão regular é testada apenas no conteúdo da linha; os caracteres de quebra não participam da correspondência.

Linhas vazias são linhas reais e podem ser removidas com <code>^$</code>. Se a origem terminar com uma quebra, o delimitador continuará ligado à linha anterior preservada, a menos que ela também seja removida. Assim, excluir a última linha sem terminação pode deixar intacto o delimitador anterior, refletindo os bytes da linha mantida.

Uma origem vazia é tratada como uma linha vazia. Não há corte de espaços, alteração de caixa ou limpeza de espaço em branco.

Aplique filtragem determinística com segurança

Esta capacidade funciona bem no pré-processamento anterior a comparação, indexação, revisão ou importação. Em logs, você pode remover verificações de integridade conhecidas ou prefixos de gravidade ruidosos antes de encaminhar eventos importantes para análise. Em código gerado, pode descartar comentários fixos de cabeçalho antes de comparar compilações.

Em exportações estruturadas, pode retirar registros cujo prefixo indique cabeçalho, rodapé ou categoria indesejada. Como o mesmo algoritmo determinístico opera sem rede, chamadas repetidas com a mesma entrada produzem a mesma saída. A expressão é compilada uma vez, mas padrões com repetição aninhada ambígua ainda podem exigir muito processamento.

Prefira regras específicas e ancoradas em entradas grandes. Revise o texto devolvido e use as contagens como proteção na automação; por exemplo, interrompa uma implantação se uma limpeza planejada para uma linha indicar centenas.

Remover entradas ruidosas de logs

Descarte linhas recorrentes de depuração, integridade ou monitoramento sem perder eventos que exigem investigação.

Limpar texto-fonte gerado

Retire comentários de cabeçalho, marcas do gerador ou linhas específicas do ambiente antes de revisar diferenças relevantes.

Filtrar registros organizados por linha

Exclua cabeçalhos, rodapés, comentários ou prefixos indesejados de exportações antes da próxima etapa.

Qual sintaxe de expressão regular é usada?

É usada a sintaxe de expressões regulares JavaScript. Informe o padrão sem barras delimitadoras.

O padrão corresponde ao caractere de quebra de linha?

Não. Cada expressão é testada no conteúdo de uma linha, sem incluir sua terminação.

As linhas correspondentes viram linhas vazias?

Não. As linhas correspondentes e suas terminações são removidas; as demais voltam inalteradas.

É possível remover linhas vazias ou apenas com espaços?

Sim. Use ^$ para linhas vazias ou ^\s*$ para linhas que contenham somente espaços em branco.

Como apago só as linhas que começam com uma palavra?

Coloque ^ antes da palavra, como em ^DEBUG. Sem esse sinal, sai qualquer linha que tenha a palavra em qualquer posição. A comparação diferencia maiúsculas de minúsculas: DEBUG e debug não são iguais.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/str/remove-lines-matching

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/str/remove-lines-matching \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"INFO Server started\nDEBUG Cache miss\nERROR Connection lost\nDEBUG Retrying\nINFO Server ready","pattern":"^DEBUG\\b"}'
{
  "text": "INFO Server started\nDEBUG Cache miss\nERROR Connection lost\nDEBUG Retrying\nINFO Server ready",
  "pattern": "^DEBUG\\b"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.remove_lines_matching",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Escreva um padrão para a linha que você deseja remover

Escapes dentro de JSON seguem o tratamento normal desse formato; portanto, uma barra invertida aparece duas vezes em uma solicitação JSON bruta.

Entenda o tratamento de terminações e linhas vazias

A resposta contém removed_count e kept_count, permitindo que um script rejeite uma edição ampla demais.

Aplique filtragem determinística com segurança

Sintaxe inválida é rejeitada como <code>invalid_input</code>, sem entregar texto parcialmente filtrado. Cada solicitação API custa US$ 0,002; a versão no navegador é executada localmente.

O que acontece quando o padrão é inválido?

A solicitação falha com um erro invalid_input que identifica o padrão como expressão regular inválida.

Quanto custa uma solicitação API?

Cada solicitação API custa US$ 0,002. A filtragem interativa também está disponível no navegador.

Ver a documentação completa do KIT →