ForHosting KIT · Text & KI

Zeilen entfernen, die einem Regex entsprechen

Filtern Sie Zeilen nach Muster: Mit ^DEBUG\b verliert ein Log aus fünf Zeilen seine 2 DEBUG-Zeilen und behält die 3 Zeilen mit INFO und ERROR unverändert. Sie sehen außerdem, wie viele Zeilen entfernt und behalten wurden. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Muster
^DEBUG\b
Erhalten Sie
Text
INFO Server started ERROR Connection lost INFO Server ready
Anzahl entfernt
2
Anzahl behalten
3

Zeilen mit Regex entfernen filtert mehrzeiligen Text, indem jede einzelne Zeile gegen einen regulären Ausdruck geprüft und jeder Treffer verworfen wird. Das ist hilfreich, wenn die zu entfernenden Zeilen einem Muster folgen, etwa einer Logstufe, einem erzeugten Kommentar, einem Zeitstempel, einem Kennungspräfix oder einem strukturierten Datensatztyp. Das Ergebnis bewahrt jede verbleibende Zeile einschließlich ihres ursprünglichen Zeilenendes unverändert und meldet die Anzahl der entfernten sowie behaltenen Zeilen, damit automatisierte Abläufe die Änderung kontrollieren können.

Formulieren Sie ein Muster für die zu entfernende Zeile

Geben Sie den Ausgangstext in text und einen regulären JavaScript-Ausdruck in pattern ein. Schreiben Sie nur den Ausdruck ohne begrenzende Schrägstriche: Verwenden Sie beispielsweise <code>^DEBUG\b</code> statt <code>/^DEBUG\b/</code>. Jede Zeile wird einzeln geprüft und entfernt, sobald ein Teil von ihr passt.

Setzen Sie <code>^</code>, wenn der relevante Text am Anfang stehen muss, <code>$</code>, wenn er am Ende stehen muss, und beide Anker, wenn die gesamte Zeile der Regel entsprechen soll. Ein Muster wie <code>^\s*#</code> entfernt Zeilen, deren erstes Nicht-Leerzeichen eine Raute ist, während <code>temporary$</code> Zeilen mit diesem Wort am Ende entfernt. Die Suche unterscheidet Groß- und Kleinschreibung und folgt der JavaScript-Standardsyntax.

Beginnen Sie mit einem engen Ausdruck, prüfen Sie Zähler und gefilterten Text und erweitern Sie ihn erst, wenn das Ergebnis die beabsichtigte Auswahl bestätigt.

Verstehen Sie Zeilenenden und leere Zeilen genau

Der Filter erkennt Unix-Zeilenvorschübe, Windows-Paare aus Wagenrücklauf und Zeilenvorschub sowie einzelne Wagenrückläufe. Er behält das ursprüngliche Ende jeder verbleibenden Zeile bei; gemischte oder plattformspezifische Eingaben werden somit nicht unbemerkt vereinheitlicht. Der reguläre Ausdruck wird ausschließlich gegen den Inhalt einer Zeile geprüft, die Zeichen des Zeilenendes gehören nicht zum Treffer.

Leere Zeilen sind echte Zeilen und lassen sich mit <code>^$</code> entfernen. Endet die Quelle mit einem Zeilenumbruch, bleibt dieser Begrenzer an der vorherigen behaltenen Zeile, sofern diese nicht ebenfalls entfernt wird. Wird die letzte Zeile ohne Abschluss entfernt, kann der vorherige Begrenzer deshalb bestehen bleiben und die Bytes der behaltenen Zeile originalgetreu abbilden.

Eine leere Quelle gilt als eine leere Zeile. Es findet weder ein Beschneiden noch eine Änderung der Großschreibung oder Bereinigung von Leerraum statt.

Filtern Sie Logs, Code und Abläufe deterministisch

Diese Fähigkeit eignet sich zur Datenvorbereitung vor Vergleich, Indizierung, Prüfung oder Import. In Logs können Sie bekannte Zustandsprüfungen oder störende Schweregradpräfixe entfernen, bevor aussagekräftige Ereignisse zur Analyse weitergegeben werden. In erzeugtem Code lassen sich gleichbleibende Kopfkommentare vor dem Vergleich von Builds verwerfen.

In strukturierten Exporten entfernen Sie Datensätze, deren Zeilenpräfix einen Kopf, Abschluss oder eine unerwünschte Kategorie kennzeichnet. Weil derselbe deterministische Algorithmus ohne Netzwerkzugriff arbeitet, liefern wiederholte Aufrufe mit identischer Eingabe dasselbe Ergebnis. Der Ausdruck wird einmal kompiliert; Muster mit mehrdeutigen verschachtelten Wiederholungen können dennoch rechenintensiv sein.

Verwenden Sie für große Eingaben möglichst spezifische, verankerte Muster. Prüfen Sie den zurückgegebenen Text und nutzen Sie die Zähler als Sicherung in der Automatisierung, etwa um eine Bereitstellung anzuhalten, wenn eine für eine Zeile vorgesehene Bereinigung Hunderte meldet.

Störende Logeinträge entfernen

Verwerfen Sie wiederkehrende Debug-, Zustands- oder Überwachungszeilen, ohne untersuchungswürdige Ereignisse zu verlieren.

Erzeugten Quelltext bereinigen

Entfernen Sie Kopfkommentare, Generatormarkierungen oder umgebungsspezifische Zeilen vor der Prüfung relevanter Unterschiede.

Zeilenbasierte Datensätze filtern

Schließen Sie Köpfe, Abschlüsse, Kommentare oder unerwünschte Präfixe vor dem nächsten Verarbeitungsschritt aus.

Welche Syntax für reguläre Ausdrücke wird verwendet?

Verwendet wird die JavaScript-Syntax für reguläre Ausdrücke. Geben Sie das Muster ohne begrenzende Schrägstriche an.

Erfasst das Muster das Zeilenumbruchzeichen?

Nein. Jeder Ausdruck wird gegen den Inhalt einer Zeile ohne deren Zeilenende geprüft.

Werden passende Zeilen durch leere Zeilen ersetzt?

Nein. Passende Zeilen und ihre Endungen werden entfernt; die übrigen Zeilen bleiben unverändert.

Können leere Zeilen oder reine Leerraumzeilen entfernt werden?

Ja. Nutzen Sie ^$ für leere Zeilen oder ^\s*$ für Zeilen, die nur Leerraum enthalten.

Wie entferne ich nur Zeilen, die mit einem bestimmten Wort beginnen?

Setzen Sie ^ vor das Wort, etwa ^DEBUG. Ohne dieses Zeichen wird jede Zeile entfernt, die das Wort an irgendeiner Stelle enthält. Groß- und Kleinschreibung zählt: DEBUG und debug sind verschieden.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

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

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

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

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Formulieren Sie ein Muster für die zu entfernende Zeile

Escape-Sequenzen in JSON werden nach den üblichen JSON-Regeln behandelt; deshalb erscheint ein Rückwärtsschrägstrich in einer unverarbeiteten JSON-Anfrage doppelt.

Verstehen Sie Zeilenenden und leere Zeilen genau

Die Antwort enthält removed_count und kept_count, sodass ein Skript eine unerwartet weitreichende Änderung ablehnen kann.

Filtern Sie Logs, Code und Abläufe deterministisch

Ungültige Syntax wird als <code>invalid_input</code> abgewiesen, statt teilweise gefilterten Text zurückzugeben. Eine API-Anfrage kostet $0.002; die Browserversion läuft lokal.

Was geschieht bei einem ungültigen Muster?

Die Anfrage schlägt mit invalid_input fehl und kennzeichnet das Muster als ungültigen regulären Ausdruck.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Interaktives Filtern ist außerdem im Browser verfügbar.

Vollständige KIT-Dokumentation lesen →