Informatik
Tester für reguläre Ausdrücke
Gib Muster, Flags und Text ein: Du siehst sofort die markierten Treffer, die Gruppen jedes Treffers und auf Wunsch den Text nach der Ersetzung. Die Engine ist die JavaScript-Engine deines Browsers.
Reguläre Ausdrücke in der Praxis
Ein regulärer Ausdruck beschreibt eine Menge von Zeichenketten: \d{4}-\d{2}-\d{2} erkennt Datumsangaben wie 2025-03-14, \d{5} eine deutsche Postleitzahl. Runde Klammern bilden Gruppen, die die Ersetzung mit $1, $2 oder über den Namen wiederverwenden kann, wenn die Gruppe einen hat.
Flags ändern das Verhalten: g findet alle Treffer statt nur des ersten, i ignoriert Groß- und Kleinschreibung, m lässt ^ und $ an jeder Zeile gelten, s lässt den Punkt auch Zeilenumbrüche treffen, u aktiviert Unicode-Klassen wie \p{L}. Ohne g ersetzt die Ersetzung nur das erste Vorkommen.
Manche Muster wie (a+)+$ oder (\w+\s?)*$ probieren bei einem Text, der fast passt, exponentiell viele Kombinationen und können Browser oder Server lahmlegen: das ist ReDoS. Hier läuft der Test in einem eigenen Prozess und wird nach einer Sekunde abgebrochen, sodass die Seite bedienbar bleibt und auf das Problem hinweist.
Häufige Fehler
- Vergessen, Backslashes zu verdoppeln, wenn der Ausdruck in einem String im Code steht: hier schreibt man \d, in einem JavaScript-String "\\d".
- .* statt .*? verwenden: Der gierige Quantor nimmt alles bis zum letztmöglichen Vorkommen.
- Quantoren verschachteln wie in (a+)+ oder (a|a)*: die häufigste Ursache für katastrophales Backtracking.
Häufige Fragen
Welche Regex-Engine wird verwendet?
Die JavaScript-Engine (ECMAScript) deines Browsers. Sie ähnelt stark PCRE aus PHP, aber manche Funktionen wie atomare Gruppen und possessive Quantoren fehlen.
Wie nutze ich eine Gruppe in der Ersetzung?
Mit $1, $2 … für nummerierte Gruppen, $ gefolgt vom Namen in spitzen Klammern für benannte und $& für den ganzen Treffer. Ein wörtliches Dollarzeichen schreibt man $$.
Wird mein Text irgendwohin gesendet?
Nein: Alles passiert im Browser. Muster und Text landen nur in der Adresse der Seite, damit man sie teilen kann, und nur wenn sie kurz sind.
So funktioniert diese Berechnung
Das Muster wird mit new RegExp(Muster, Flags) kompiliert und mit String.prototype.matchAll angewendet, immer mit hinzugefügtem g, um den Text zu durchlaufen; ohne g in der Anfrage bleibt nur der erste Treffer. Die Ersetzung nutzt String.prototype.replace mit den gewählten Flags. Ausgeführt wird in einem Web Worker, der beendet wird, wenn er nicht innerhalb von 1 Sekunde antwortet; höchstens 1000 Treffer werden aufgelistet.
Verwandte Rechner
JSON-Formatierer und -Validator
JSON formatieren, minifizieren und validieren: Einrückung, sortierte Schlüssel und genaue Fehlerposition.
URL-Kodierung
Prozentkodierung und -dekodierung von Werten und Adressen, und eine URL in ihre Teile zerlegt.
Base64-Umrechner
Von Text, Ganzzahl, Hexadezimal oder Binär nach Base64 und zurück, mit erklärten 6-Bit-Gruppen.
Cron-Ausdrücke erklärt
Übersetze einen Cron-Ausdruck in Worte und sieh die nächsten Ausführungen, Feld für Feld.