ForHosting KIT · Entwickler-Tools

Regex-Sonderzeichen für eine wörtliche Suche escapen

Machen Sie jeden Text sicher für einen regulären Ausdruck: Aus invoice.total [draft]? wird invoice\.total \[draft\]\?, sodass Punkt, eckige Klammern und Fragezeichen wörtlich gesucht werden, statt als Anweisungen zu wirken. 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

Wörtlicher Text lässt sich nicht immer direkt in einen regulären Ausdruck einsetzen. Zeichen wie Punkt, Fragezeichen, eckige Klammer oder Rückwärtsschrägstrich sind Anweisungen der Regex-Syntax. Ein nicht escapeter Wert kann deshalb den falschen Text treffen oder sogar das Muster ungültig machen. Diese Fähigkeit wandelt eine Zeichenfolge in ein ECMAScript-Musterfragment um, das jedes Regex-Metazeichen wörtlich behandelt. Sie eignet sich für Suchbegriffe, Dateinamen, Kennungen, Beschriftungen und andere von Benutzern gelieferte Werte, die ohne Bedeutungsänderung Teil eines regulären Ausdrucks werden sollen.

Wörtlichen Text in ein sicheres Musterfragment umwandeln

Senden Sie im Feld text genau den Wert, den ein regulärer Ausdruck finden soll. Das Ergebnis enthält escaped, ein Musterfragment, in dem jedem ECMAScript-Regex-Metazeichen ein Rückwärtsschrägstrich vorangestellt ist. Gewöhnliche Buchstaben, Ziffern, Leerzeichen, Satzzeichen ohne Regex-Bedeutung, Zeilenumbrüche und Unicode-Zeichen bleiben unverändert.

Ein Punkt steht in einem regulären Ausdruck beispielsweise normalerweise für ein beliebiges Zeichen; ein escapeter Punkt meint dagegen einen tatsächlichen Punkt. Runde Klammern bilden üblicherweise eine Gruppe, eckige Klammern öffnen eine Zeichenklasse, geschweifte Klammern können eine Wiederholungszahl einleiten und Fragezeichen oder Sternchen steuern Wiederholungen. Durch das Escapen dieser Symbole bleibt die wörtliche Bedeutung des ursprünglichen Werts erhalten.

Das zurückgegebene Fragment enthält weder Schrägstrich-Begrenzer noch Flags. Sie können es daher direkt an den RegExp-Konstruktor übergeben, in ein größeres Muster einbauen oder als Musterkörper speichern. Eine leere Zeichenfolge ist gültig und liefert einen leeren escaped-Wert, weil keine Zeichen umzuwandeln sind.

Escapeten Wert mit bewusster Regex-Syntax kombinieren

Das Escapen ist besonders nützlich, wenn ein Teil des Musters aus Daten stammt und ein anderer bewusst als Regex-Syntax geschrieben wird. Angenommen, eine Anwendung soll einen vom Benutzer angegebenen Produktcode nur am Anfang einer Zeile finden. Escapen Sie zuerst den Produktcode und fügen Sie anschließend selbst den Anfangsanker sowie die gewünschte Begrenzungslogik hinzu.

Diese Trennung hält die vertrauenswürdige Musterstruktur und den wörtlichen Inhalt auseinander. Escapen Sie nicht erst das vollständig zusammengesetzte Muster, denn dadurch würden auch absichtlich aktive Anker, Gruppen, Alternativen oder Quantifizierer neutralisiert. Die Ausgabe ist für den Körper eines ECMAScript-Musters bestimmt und nicht für JavaScript-Quelltextnotation.

Dieser Unterschied ist wichtig: Schrägstriche haben für den RegExp-Konstruktor keine besondere Bedeutung und bleiben daher erhalten. Soll das Ergebnis in einem mit Schrägstrichen begrenzten Regex-Literal in erzeugtem JavaScript-Quelltext stehen, ist das Escapen des Quelltextbegrenzers eine eigene Aufgabe. In normalem Anwendungscode sollten Sie die escapete Zeichenfolge an new RegExp übergeben und die Flags separat auswählen.

Garantie verstehen und umgebenden Entwurf prüfen

Die Umwandlung ist deterministisch und linear: Sie durchläuft die übergebene Zeichenfolge und stellt den Zeichen, welche die ECMAScript-Syntax regulärer Ausdrücke steuern, einen Rückwärtsschrägstrich voran. Sie nutzt kein Netzwerk, führt den erzeugten Ausdruck nicht aus, wählt keine Flags, ergänzt keine Anker und entscheidet nicht über Groß- und Kleinschreibung. Diese Entscheidungen gehören in die umgebende Anwendung, weil sie das Trefferverhalten und nicht die wörtliche Sicherheit verändern.

Jedes dieser Formate besitzt eigene Escape-Regeln; bei der Kombination mit Regex-Escaping muss jede Schicht an der richtigen Grenze angewendet werden. Testen Sie das vollständige Muster nach dem Zusammensetzen mit repräsentativen positiven und negativen Beispielen, besonders bei optionalen Abschnitten oder Alternativen um das escapete Fragment. So werden Zahlen, Arrays, Objekte, null oder boolesche Werte nicht unbemerkt zu überraschendem Mustertext.

Wörtliche Suche erstellen

Wandeln Sie einen Suchbegriff in ein Regex-sicheres Fragment um, bevor Sie bewusst Anker oder Flags ergänzen.

Dateinamen und Kennungen finden

Bewahren Sie Punkte, Klammern, Pluszeichen und andere Syntaxzeichen innerhalb exakter Werte.

Dynamische Musterkomposition absichern

Halten Sie Benutzereingaben wörtlich, während vertrauenswürdiger Code die umgebende Regex-Struktur liefert.

Welche Zeichen werden escapet?

Escapet werden Rückwärtsschrägstrich, Zirkumflex, Dollarzeichen, Punkt, senkrechter Strich, Fragezeichen, Sternchen, Pluszeichen sowie runde, eckige und geschweifte Klammern.

Enthält die Ausgabe Regex-Begrenzer?

Nein. Der escapete Wert ist ein ECMAScript-Musterkörper oder -fragment ohne umgebende Schrägstrich-Begrenzer.

Warum wird ein Schrägstrich nicht escapet?

In einem ECMAScript-Muster für den RegExp-Konstruktor ist er nicht besonders. Das Escapen eines Quelltextbegrenzers ist eine separate Aufgabe bei der JavaScript-Erzeugung.

Kann ich Anker oder Flags ergänzen?

Ja. Ergänzen Sie bewusst Regex-Syntax um das escapete Fragment und übergeben Sie Flags beim Erstellen des vollständigen Ausdrucks separat.

Was geschieht mit einer leeren Zeichenfolge?

Sie wird akzeptiert und liefert einen leeren escaped-Wert, der ein wörtliches Muster der Länge null darstellt.

Ist eine leere Eingabe erlaubt?

Ja. Ein leerer Text ist gültig und ergibt ein leeres Ergebnis, weil es keine Zeichen zu verwandeln gibt. Eingaben, die kein Text sind, etwa Zahlen oder Listen, werden dagegen abgelehnt, statt stillschweigend umgewandelt zu werden.

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/dev2/regex-special-char-escape

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/dev2/regex-special-char-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"invoice.total (USD) [draft]?"}'
{
  "text": "invoice.total (USD) [draft]?"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.regex_special_char_escape",
  "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.

Garantie verstehen und umgebenden Entwurf prüfen

Die Fähigkeit quotiert einen Wert auch nicht für ein Zeichenfolgenliteral einer Programmiersprache, ein JSON-Dokument, einen Shell-Befehl, ein HTML-Attribut oder eine URL. Eingaben, die keine Zeichenfolge sind, werden mit invalid_input abgewiesen und nicht umgewandelt. API-Anfragen verwenden den veröffentlichten Grundpreis von $0.002.

Was geschieht, wenn text keine Zeichenfolge ist?

Die Anfrage schlägt mit invalid_input fehl. Werte werden nicht stillschweigend umgewandelt.

Was kostet eine API-Anfrage?

Der API-Grundpreis beträgt $0.002 pro Anfrage; dieselbe deterministische Operation kann auch im Browser ausgeführt werden.

Vollständige KIT-Dokumentation lesen →