HTML-Tools

Kostenlose RegExp.escape() Helfer

Generieren Sie RegExp.escape()-Aufrufe zum Escapen von Sonderzeichen in Strings fur sichere dynamische Regex-Muster.

Tool wird geladen...

Was ist RegExp.escape() Helfer?

RegExp.escape(string) ist eine statische Methode, die einen neuen String zurückgibt, in dem jedes spezielle reguläre Ausdruckszeichen mit einem Backslash escaped wird. Dies macht den String sicher für die Verwendung in einem RegExp-Konstruktor beim Erstellen dynamischer Muster aus Benutzereingaben. Die Methode ist Teil von Baseline 2025 (Chrome 132+) und ersetzt fehleranfällige manuelle Escape-Funktionen, die Entwickler seit Jahrzehnten schreiben und kopieren.

Kurze Antwort

Generieren Sie Code mit RegExp.escape(string) zum sicheren Escapen spezieller Regex-Zeichen in Benutzereingaben vor dem Erstellen dynamischer RegExp-Muster. Unterstützt alle 14 Regex-Metazeichen. Verfügbar in Chrome 132+, Edge, Firefox, Node.js 20+. Keine manuellen Escape-Regex-Ketten mehr nötig.

Last updated: 2026-06-02

Einschränkungen

  • Nicht verfügbar in Umgebungen ohne Baseline-2025-Unterstützung. Verwenden Sie ein Polyfill oder die traditionelle manuelle replace-Funktion für ältere Node.js-Versionen und Legacy-Browser.
  • RegExp.escape() verarbeitet nur String-Eingaben. Für RegExp-Flags oder Musteroptionen müssen Sie den vollständigen Muster-String und das Flags-Array weiterhin selbst erstellen.
  • Die Methode escapet jedes Sonderzeichen bedingungslos. Wenn Sie ein Muster erstellen müssen, das literale Benutzereingaben mit absichtlicher Regex-Syntax (wie Wildcards) mischt, müssen Sie die absichtliche Syntax separat behandeln.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

So nutzt du dieses Tool

  1. Identifizieren Sie, wo Sie ein RegExp-Muster aus benutzerbereitgestellten oder variablen Eingaben erstellen müssen, wie Suchfelder oder Filtereingaben.
  2. Übergeben Sie den Eingabe-String an RegExp.escape(), bevor Sie ihn in das Muster für den RegExp-Konstruktor einfügen.
  3. Verwenden Sie den escapten String in Ihrem RegExp-Muster: new RegExp(RegExp.escape(userInput), 'gi').
  4. Überprüfen Sie den generierten Code in der Tool-Ausgabe, der sowohl die native Methode als auch die manuelle Escape-Funktion zum Vergleich zeigt.

Wofür du es nutzen kannst

  • Erstellen Sie einen clientseitigen Suchfilter, bei dem Tastatureingaben des Benutzers in einen Regex für Live-Filterung umgewandelt werden - Escaping verhindert, dass ungültige oder injizierte Muster den Regex zerstören.
  • Erstellen Sie eine Suchen-und-Ersetzen-UI, in der der Benutzer einen literalen Suchstring und einen Ersatz eingibt. Escaping stellt sicher, dass Zeichen wie . oder * als Literale behandelt werden.
  • Heben Sie Suchbegriffe in Textinhalten hervor, indem Sie einen RegExp aus Benutzereingaben konstruieren und Übereinstimmungen in einen span verpacken - Escaping garantiert, dass das Muster syntaktisch gültig ist.

Anwendungsfalle

Praxisbeispiele

Beispiel

Live-Suchfilter

Ein Sucheingabefeld auf einer Produktlistenseite filtert Artikel nach Namen. Der Benutzer gibt etwas wie '.NET' oder '(Premium)' ein. RegExp.escape() verwandelt jede Abfrage in ein sicheres Muster, sodass die Suche auch mit Sonderzeichen korrekt funktioniert.

Beispiel

Suchen und Ersetzen in einem Texteditor

Ein einfacher browserbasierter Texteditor ermöglicht Benutzern das Suchen und Ersetzen von Text. Der Suchstring wird mit RegExp.escape() escapt, bevor der Ersetzungs-Regex erstellt wird, sodass die Suche nach '$100' oder '(C)' literale Übereinstimmungen findet, anstatt Regex-Syntax auszulösen.

Haufige Fehler

  • Zu vergessen, Benutzereingaben zu escapen und sie direkt in ein Regex-Muster einzubetten - dies verursacht Syntaxfehler, wenn die Eingabe Sonderzeichen wie (, ) oder * enthält, und zerstört den gesamten Regex.
  • RegExp.escape() auf den gesamten Muster-String anzuwenden, der bereits absichtlich Regex-Metazeichen enthält - die Methode escapet alles, sodass vorgefertigte Muster mit Quantoren oder Gruppen ihre spezielle Bedeutung verlieren.
  • Anzunehmen, dass RegExp.escape() auch null oder undefined behandelt - übergeben Sie einen String-Wert oder prüfen Sie den Eingabetyp vor dem Aufruf, um TypeError zu vermeiden.

Überprüfung

  1. Öffnen Sie die Chrome 132+ DevTools-Konsole. Rufen Sie RegExp.escape('hello.world') auf und überprüfen Sie, dass 'hello\.world' zurückgegeben wird. Rufen Sie RegExp.escape('test (1) [2]') auf und bestätigen Sie, dass die Klammern escaped sind.
  2. Konstruieren Sie new RegExp(RegExp.escape('.*+?'), 'g') und testen Sie es gegen den literalen String '.*+?' - überprüfen Sie, dass es matched, was bestätigt, dass die Sonderzeichen als Literale behandelt werden.

FAQ

Fragen zu RegExp.escape() Helfer

Welche Zeichen escapet RegExp.escape()?

Die Methode escapet die 14 speziellen Regex-Zeichen: ^ $ \ . * + ? ( ) [ ] { } |. Jedem wird im zurückgegebenen String ein Backslash vorangestellt. Zum Beispiel gibt RegExp.escape('hello.world') 'hello\.world' zurück, und RegExp.escape('price $10') gibt 'price \$10' zurück.

Wie vergleicht sich RegExp.escape() mit der manuellen Escape-Funktion, die Entwickler früher verwendet haben?

Der manuelle Ansatz verwendete typischerweise string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - ein schwer lesbarer Regex, den Entwickler oft ohne Verständnis kopierten. RegExp.escape() ist eine standardisierte API mit konsistentem Verhalten, keinem Regex-in-einem-Regex und keinen Edge-Case-Fehlern. Es ist einfacher, schneller und wird vom Browser-Anbieter gewartet.

Ist RegExp.escape() in Node.js verfügbar?

RegExp.escape() ist ein JavaScript-Sprachfeature, keine Web-API, und ist in Node.js 20+ als Kernmethode auf dem RegExp-Konstruktor verfügbar. Es wird kein Polyfill oder npm-Paket benötigt. Prüfen Sie Ihre Node.js-Version auf Unterstützung.

Kann ich RegExp.escape() mit Unicode oder speziellen Leerzeichen verwenden?

Ja. RegExp.escape() funktioniert mit jedem gültigen JavaScript-String einschließlich Unicode-Zeichen und ungewöhnlichen Leerzeichen. Es escapet nur die 14 Regex-Metazeichen und lässt alle anderen Zeichen einschließlich nicht-lateinischer Schriften unberührt.

Verwandte Tools

Weitere html-tools

Auch ausprobieren

Auch ausprobieren