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.
A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.
How to use it
- Search: enter a pattern and some test text — every match is highlighted and capture groups are broken out separately.
- Replace: switch to Replace mode, provide a replacement template (referencing groups with $1, $2), and see the result instantly.
- Flags (g, i, m, s) toggle independently and immediately affect how many matches are found and how.
Common uses
- Building and debugging a regex before pasting it into code — you see the result without running the program.
- Bulk find-and-replace against a pattern (e.g. reformatting phone numbers or dates).
- Validating an input format (email, card number, slug) against real examples.
Things to keep in mind
Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).
Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.
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.