Text
Regex Tester / Find & Replace
Testen regulärer Ausdrücke an echtem Text: hervorgehobene Treffer und analysierte Erfassungsgruppen, oder Ersetzen gefundener Treffer durch neuen Text.
Ein regulärer Ausdruck (Regex) ist eine kompakte Sprache zur Beschreibung von Mustern in Text — zum Suchen, Validieren eines Formats oder Ersetzen von Treffern. Dieses Tool hebt Treffer im echten Text hervor, während du das Muster eingibst, zerlegt Capture-Gruppen und bietet einen Suchen-und-Ersetzen-Modus.
So verwendest du es
- Suchen: Gib ein Muster und einen Testtext ein — jeder Treffer wird hervorgehoben, Capture-Gruppen werden separat aufgeschlüsselt.
- Ersetzen: Wechsle in den Replace-Modus, gib eine Ersetzungsvorlage an (mit Gruppenverweisen $1, $2) und sieh das Ergebnis sofort.
- Flags (g, i, m, s) lassen sich unabhängig umschalten und beeinflussen sofort, wie viele Treffer gefunden werden und wie.
Typische Anwendungsfälle
- Eine Regex entwickeln und debuggen, bevor sie in Code eingefügt wird — das Ergebnis ist sichtbar, ohne das Programm auszuführen.
- Massenhaftes Suchen und Ersetzen nach einem Muster (z. B. Telefonnummern oder Daten umformatieren).
- Ein Eingabeformat (E-Mail, Kartennummer, Slug) anhand echter Beispiele validieren.
Was du wissen solltest
Gierige Quantoren (*, +) erfassen so viele Zeichen wie möglich — füge ? hinzu für den minimalen Treffer (z. B. .*? statt .*).
Die Syntax variiert leicht zwischen Sprachen — ein hier (eine JavaScript-Engine) funktionierender Ausdruck muss für PCRE, .NET oder Python eventuell angepasst werden.
Artikel zu diesem Tool: Reguläre Ausdrücke: Grundsyntax und typische Muster
Häufig gestellte Fragen
Welche Regex-Engine wird verwendet?
Das Tool verwendet die Regex-Engine von JavaScript, nicht PCRE, daher funktioniert manche PCRE-spezifische Syntax (wie rekursive Assertionen oder bestimmte possessive Übereinstimmungsmodi) hier nicht; gängige Flags wie g, i, m, s und u werden unterstützt.
Was ist der Unterschied zwischen gierigen und trägen Quantoren, und zwischen Test und Ersetzen?
Ein gieriger Quantor wie * oder + erfasst so viel Text wie möglich, während seine träge Version (*?, +?) so früh wie möglich stoppt; bei den Modi hebt Test Übereinstimmungen hervor und listet Erfassungsgruppen auf (einschließlich benannter), und Ersetzen wendet Ersatztext mit Referenzen wie $1 auf jede Übereinstimmung an.
Werden mein Text und mein Ausdruck an einen Server gesendet?
Nein, die Auswertung des regulären Ausdrucks erfolgt vollständig clientseitig in Ihrem Browser, nichts wird online übertragen.
Was ist katastrophales Backtracking?
Verschachtelte Quantifizierer wie (a+)+ können die Engine bei bestimmten Eingaben dazu zwingen, eine exponentielle Anzahl von Kombinationen durchzuprobieren — die Seite oder das Skript „hängt" bei einem scheinbar einfachen Ausdruck. Das ist eine reale Schwachstellenklasse (ReDoS), daher sollten komplexe verschachtelte Quantifizierer an langen, fast passenden Zeichenketten getestet werden.
Warum funktioniert mein Ausdruck in einer Programmiersprache, aber nicht in einer anderen?
Die Regex-Syntax ist nicht vollständig standardisiert: PCRE (PHP und viele andere Sprachen), .NET, Python re und JavaScript weisen kleine Unterschiede bei der Unterstützung bestimmter Konstrukte auf (etwa Look-behind oder benannte Gruppen) — ein für eine Engine geschriebener Ausdruck funktioniert nicht immer unverändert in einer anderen.