ForHosting KIT · Texto e IA

Eliminar líneas que coinciden con regex

Filtre líneas por patrón: con ^DEBUG\b, un registro de cinco líneas pierde sus 2 líneas DEBUG y conserva intactas las 3 de INFO y ERROR. Además, ve cuántas líneas se quitaron y cuántas quedaron. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Patrón
^DEBUG\b
Obtiene
Texto
INFO Server started ERROR Connection lost INFO Server ready
Cantidad eliminada
2
Cantidad conservada
3

Eliminar líneas que coinciden con regex filtra texto multilínea evaluando cada línea por separado con una expresión regular y descartando todas las coincidencias. Resulta útil cuando las líneas que usted desea quitar comparten un patrón, como un nivel de registro, un comentario generado, una marca de tiempo, un prefijo identificador o un tipo de registro estructurado. El resultado conserva exactamente cada línea restante, incluido su final original, e indica cuántas líneas se eliminaron y conservaron para que los procesos automáticos puedan comprobar el cambio.

Escriba un patrón para la línea completa que desea eliminar

Introduzca el origen en text y una expresión regular de JavaScript en pattern. Escriba la expresión sin barras delimitadoras: por ejemplo, use <code>^DEBUG\b</code> y no <code>/^DEBUG\b/</code>. Cada línea se evalúa por separado y se elimina si alguna parte coincide.

Añada <code>^</code> cuando el texto deba aparecer al principio, <code>$</code> cuando deba estar al final y ambos anclajes cuando toda la línea deba cumplir la regla. Un patrón como <code>^\s*#</code> elimina las líneas cuyo primer carácter no vacío es una almohadilla, mientras que <code>temporary$</code> elimina las que terminan con esa palabra. La comparación distingue mayúsculas y minúsculas y sigue la sintaxis estándar de JavaScript.

Empiece con una expresión precisa, revise los recuentos y el texto filtrado, y amplíela solo cuando el resultado confirme que seleccionó las líneas previstas.

Comprenda qué ocurre con los finales y las líneas vacías

El filtro reconoce saltos de línea de Unix, pares de retorno de carro y salto de línea de Windows, y retornos de carro independientes. Conserva el final original unido a cada línea restante, por lo que una entrada mixta o propia de una plataforma no se normaliza silenciosamente. La expresión regular se evalúa únicamente contra el contenido de la línea; los caracteres de salto no forman parte de la coincidencia.

Las líneas vacías son líneas reales y pueden eliminarse con <code>^$</code>. Si el origen termina con un salto, el delimitador permanece unido a la línea anterior conservada salvo que esta también se elimine. Por ello, quitar la última línea sin terminador puede dejar intacto el delimitador anterior, reflejando fielmente los bytes de la línea retenida.

Un origen vacío cuenta como una línea vacía. No se recorta texto, no se cambia entre mayúsculas y minúsculas ni se limpia el espacio.

Use el filtrado determinista con seguridad

Esta capacidad sirve para preparar datos antes de compararlos, indexarlos, revisarlos o importarlos. En registros, usted puede retirar comprobaciones de estado conocidas o prefijos de gravedad ruidosos antes de entregar los sucesos relevantes a un analista. En código generado, puede descartar comentarios de cabecera estables antes de comparar compilaciones.

En exportaciones estructuradas, puede quitar registros cuyo prefijo identifique una cabecera, un pie o una categoría no deseada. Como el mismo algoritmo determinista funciona sin acceso a la red, llamadas repetidas con la misma entrada producen idéntico resultado. La expresión se compila una vez, aunque los patrones con repeticiones anidadas ambiguas pueden resultar costosos.

Prefiera expresiones específicas y ancladas para entradas grandes. Revise el texto y use los recuentos como protección automática; por ejemplo, detenga un despliegue si una limpieza prevista para una línea informa de cientos.

Eliminar entradas ruidosas de registros

Descarte líneas recurrentes de depuración, estado o supervisión sin perder los sucesos que requieren análisis.

Limpiar texto fuente generado

Quite comentarios de cabecera, marcas del generador o líneas propias del entorno antes de revisar diferencias relevantes.

Filtrar registros orientados a líneas

Excluya cabeceras, pies, comentarios o prefijos no deseados de una exportación antes del siguiente proceso.

¿Qué sintaxis de expresión regular utiliza?

Utiliza la sintaxis de expresiones regulares de JavaScript. Proporcione el patrón sin barras delimitadoras.

¿El patrón incluye el carácter de salto de línea?

No. Cada expresión se evalúa contra el contenido de una línea y excluye su terminador.

¿Las líneas coincidentes se sustituyen por líneas vacías?

No. Se eliminan las líneas coincidentes y sus terminadores; las demás se devuelven sin cambios.

¿Puede eliminar líneas vacías o compuestas solo por espacios?

Sí. Use ^$ para líneas vacías o ^\s*$ para aquellas que contienen únicamente espacios.

¿Cómo elimino solo las líneas que empiezan por una palabra?

Ponga ^ delante de la palabra, como en ^DEBUG. Sin ese signo, se elimina cualquier línea que contenga la palabra en cualquier posición. Además, distingue mayúsculas de minúsculas: DEBUG y debug no son lo mismo.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Escriba un patrón para la línea completa que desea eliminar

Los escapes dentro de JSON siguen las reglas habituales de JSON, por lo que una barra inversa se representa dos veces en una solicitud sin procesar.

Comprenda qué ocurre con los finales y las líneas vacías

La respuesta incluye removed_count y kept_count, de modo que un script puede rechazar una modificación demasiado amplia.

Use el filtrado determinista con seguridad

Una sintaxis no válida se rechaza como <code>invalid_input</code> en lugar de devolver texto parcialmente filtrado. Cada solicitud API cuesta $0.002; la versión del navegador se ejecuta localmente.

¿Qué sucede si el patrón no es válido?

La solicitud falla con un error invalid_input que identifica el patrón como expresión regular no válida.

¿Cuánto cuesta una solicitud API?

Cada solicitud API cuesta $0.002. El filtrado interactivo también está disponible en el navegador.

Ver la documentación completa del KIT →