ForHosting KIT · Testi e IA

Rimuovere righe corrispondenti a una regex

Filtri le righe con un'espressione: con ^DEBUG\b, un log di cinque righe perde le sue 2 righe DEBUG e conserva intatte le 3 righe INFO ed ERROR. Vede anche quante righe sono state tolte e quante restano. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Schema
^DEBUG\b
Ottiene
Testo
INFO Server started ERROR Connection lost INFO Server ready
Numero rimosso
2
Numero conservato
3

Rimuovere righe corrispondenti a una regex filtra un testo su più righe verificando ciascuna riga con un’espressione regolare ed eliminando ogni corrispondenza. Il risultato conserva esattamente ogni riga mantenuta, inclusa la terminazione originale, e indica quante righe sono state rimosse e conservate, così i processi automatici possono verificare la modifica.

Come descrivere le righe da eliminare

Inserisca il contenuto sorgente in text e un’espressione regolare JavaScript in pattern. Scriva l’espressione senza barre delimitatrici: usi, per esempio, <code>^DEBUG\b</code> anziché <code>/^DEBUG\b/</code>. Ogni riga viene verificata separatamente e rimossa se una sua parte corrisponde.

Aggiunga <code>^</code> quando il testo rilevante deve trovarsi all’inizio, <code>$</code> quando deve essere alla fine ed entrambi gli ancoraggi quando l’intera riga deve rispettare la regola. La corrispondenza distingue maiuscole e minuscole e usa la sintassi JavaScript standard. Cominci con un’espressione selettiva, controlli i conteggi e il testo filtrato, quindi la allarghi solo se il risultato conferma che sono state scelte le righe previste.

Comprenda il trattamento delle terminazioni e delle righe vuote

Il filtro riconosce le interruzioni di riga Unix, le coppie ritorno a capo–avanzamento riga di Windows e i ritorni a capo isolati. Mantiene la terminazione originale collegata a ogni riga conservata, quindi un input misto o specifico di una piattaforma non viene normalizzato silenziosamente. L’espressione regolare viene verificata soltanto sul contenuto della riga; i caratteri di fine riga non partecipano alla corrispondenza.

Le righe vuote sono righe effettive e possono essere eliminate con <code>^$</code>. Se il sorgente termina con un’interruzione, il delimitatore rimane legato alla precedente riga conservata, salvo che venga rimossa anche quella. Eliminare l’ultima riga priva di terminazione può quindi lasciare intatto il delimitatore precedente, rispettando i byte della riga mantenuta.

Un sorgente vuoto vale come una riga vuota. Non vengono eseguiti ritaglio, conversione tra maiuscole e minuscole o pulizia degli spazi.

Applichi un filtro deterministico in modo sicuro

Questa capacità è adatta alla preparazione dei dati prima di confronto, indicizzazione, revisione o importazione. Nei log, Lei può eliminare controlli di integrità noti o prefissi di gravità ripetitivi prima di inviare gli eventi significativi a chi deve analizzarli. Nel codice generato può scartare commenti d’intestazione stabili prima di confrontare le build.

Nelle esportazioni strutturate può togliere record il cui prefisso identifica un’intestazione, una chiusura o una categoria indesiderata. Poiché lo stesso algoritmo deterministico funziona senza rete, chiamate ripetute con input identico danno lo stesso output. L’espressione viene compilata una volta, ma ripetizioni annidate ambigue possono comunque risultare onerose.

Per input grandi preferisca schemi specifici e ancorati. Verifichi il testo restituito e usi i conteggi come protezione automatica; per esempio, interrompa una distribuzione se una pulizia prevista per una riga ne segnala centinaia.

Eliminare voci di log rumorose

Scarti righe ricorrenti di debug, controllo integrità o monitoraggio conservando gli eventi che richiedono indagini.

Pulire testo sorgente generato

Tolga commenti d’intestazione, marcatori del generatore o righe legate all’ambiente prima di esaminare differenze utili.

Filtrare record organizzati per riga

Escluda intestazioni, chiusure, commenti o prefissi indesiderati dalle esportazioni prima del passaggio successivo.

Quale sintassi di espressione regolare viene usata?

Viene usata la sintassi delle espressioni regolari JavaScript.

Le righe corrispondenti diventano righe vuote?

No. Le righe corrispondenti e le relative terminazioni vengono eliminate; le altre restano invariate.

È possibile eliminare righe vuote o contenenti solo spazi?

Sì. Usi ^$ per le righe vuote oppure ^\s*$ per quelle composte soltanto da spazi.

Come elimino solo le righe che iniziano con una parola?

Metta ^ davanti alla parola, come in ^DEBUG. Senza quel segno viene tolta qualsiasi riga che contenga la parola in qualunque punto, anche a metà o alla fine.

Il filtro distingue tra maiuscole e minuscole?

Sì, il confronto distingue maiuscole e minuscole: ^DEBUG toglie le righe che iniziano con DEBUG ma lascia quelle che iniziano con debug. Controlli i conteggi di righe tolte e rimaste per verificare il risultato.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

È utile quando le righe da togliere condividono uno schema, per esempio un livello di log, un commento generato, una marca temporale, un prefisso identificativo o un tipo di record strutturato.

Scriva uno schema per la riga che desidera rimuovere

Le sequenze di escape in JSON seguono il normale trattamento JSON, quindi in una richiesta JSON grezza la barra inversa compare due volte. Uno schema come <code>^\s*#</code> elimina le righe il cui primo carattere non vuoto è un cancelletto, mentre <code>temporary$</code> rimuove quelle che terminano con tale parola.

Comprenda il trattamento delle terminazioni e delle righe vuote

La risposta comprende removed_count e kept_count, così uno script può rifiutare una modifica inaspettatamente estesa.

Applichi un filtro deterministico in modo sicuro

Una sintassi non valida viene respinta come <code>invalid_input</code> invece di produrre testo filtrato solo in parte. Ogni richiesta API costa $0.002; la versione nel browser opera localmente.

Lo schema include il carattere di nuova riga?

No. Ogni espressione viene verificata sul contenuto di una riga, esclusa la sua terminazione.

Cosa accade se lo schema non è valido?

La richiesta non riesce e restituisce un errore invalid_input che segnala l’espressione regolare non valida.

Quanto costa una richiesta API?

Ogni richiesta API costa $0.002. Il filtro interattivo è disponibile anche nel browser.

Leggi la documentazione completa del KIT →