Kostenloser Regex-Tester & Debugger
Teste und debugge reguläre Ausdrücke in Echtzeit mit Erklärungen. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Aktualisiert am
Regex Tester
Test and debug regular expressions with real-time highlighting, capture group colors, pattern explanation, code generation for 10 languages, multi-line testing, and step-by-step debugger.
Regular Expression
Common Patterns Library28
Test Input
Quick Reference (Cheat Sheet)
Privacy First: All processing happens locally in your browser. Your patterns and test data are never sent to any server. History is stored in your browser's localStorage.
Häufig gestellte Fragen
Was ist der Regex Tester?
Der Regex Tester ist ein kostenloses Online-Tool, mit dem du reguläre Ausdrücke in Echtzeit testen und debuggen kannst, mit Hervorhebung der Übereinstimmungen und Erklärungen.
Ist der Regex Tester kostenlos?
Ja, er ist völlig kostenlos und erfordert keine Registrierung. Der gesamte Mustervergleich erfolgt clientseitig in deinem Browser.
Erklärt er das Regex-Muster?
Ja, der Regex Tester liefert verständliche Erklärungen zu deinen Mustern für reguläre Ausdrücke, um dir zu helfen, sie zu verstehen und zu debuggen.
Sind meine Daten mit diesem Tool sicher?
Absolut. Der Regex Tester & Debugger verarbeitet alles clientseitig in deinem Browser. Es werden keine Daten auf einen Server hochgeladen oder dort gespeichert. Deine Inhalte bleiben jederzeit privat auf deinem Gerät.
Funktioniert der Regex Tester & Debugger auf Mobilgeräten?
Ja, der Regex Tester & Debugger ist vollständig responsiv und funktioniert auf Smartphones und Tablets. Du kannst ihn auf jedem Gerät mit einem modernen Webbrowser verwenden, ohne App-Download.
Muss ich ein Konto erstellen, um dieses Tool zu nutzen?
Es ist kein Konto und keine Registrierung erforderlich. Öffne einfach den Regex Tester & Debugger in deinem Browser und beginne sofort mit der Nutzung. Es gibt keine Anmeldeschranken oder Nutzungsbeschränkungen.
Wie verwende ich den Regex Tester & Debugger?
Gib einfach deine Eingabe in das vorgesehene Feld ein, passe die Einstellungen nach deinen Wünschen an, und das Tool verarbeitet sie sofort. Anschließend kannst du das Ergebnis in die Zwischenablage kopieren oder herunterladen.
Welche Browser werden unterstützt?
Der Regex Tester & Debugger funktioniert in allen modernen Browsern, einschließlich Chrome, Firefox, Safari, Edge und Opera. Für das beste Erlebnis verwende die neueste Version deines bevorzugten Browsers.
Was bewirken die Regex-Flags g, i, m, s, u und y?
Flags verändern, wie die Engine dein Muster anwendet. Das Flag g (global) findet jeden Treffer, statt beim ersten aufzuhören. Das Flag i (Groß-/Kleinschreibung ignorieren) matcht Buchstaben unabhängig von der Schreibweise. Das Flag m (mehrzeilig) sorgt dafür, dass die Anker ^ und $ an jeder Zeile ansetzen statt nur am gesamten String. Das Flag s (dotall) lässt den Punkt auch Zeilenumbrüche matchen. Das Flag u (Unicode) aktiviert vollständige Unicode-Verarbeitung und strengeres Parsing, was bei Emojis und nicht-lateinischem Text wichtig ist. Das Flag y (sticky) matcht nur ab der aktuellen Position der Engine, was beim stückweisen Tokenisieren von Eingaben nützlich ist. Flags lassen sich frei kombinieren, sodass gi jeden Treffer findet und dabei die Groß-/Kleinschreibung ignoriert. Dieses Tool zeigt alle sechs als Schalter an, sodass du sie ein- und ausschalten und live sehen kannst, wie sich die hervorgehobenen Treffer und die Trefferanzahl dadurch verändern.
Was ist katastrophales Backtracking, und wie vermeide ich es?
Katastrophales Backtracking tritt auf, wenn ein Muster verschachtelte oder überlappende Quantifizierer enthält, etwa (.*)+ oder (a+)+, die die Engine zwingen, eine exponentiell wachsende Zahl von Matching-Möglichkeiten durchzuprobieren, bevor sie aufgibt. Bei einem kurzen, wohlgeformten String sieht das noch unproblematisch aus, aber bei etwas längerer oder fehlerhafter Eingabe kann die Matching-Zeit von Mikrosekunden auf Sekunden explodieren und dein Programm effektiv zum Stillstand bringen. Du vermeidest es, indem du Quantifizierer nicht überlappen lässt, spezifischere Zeichenklassen statt breiter wie .* verwendest und Muster wo möglich verankerst. Dieses Tool markiert riskante Konstrukte schon beim Tippen und zeigt ein Ausführungszeit-Badge von Schnell bis Sehr langsam, sodass du ein gefährliches Muster erkennst, bevor es in Produktion geht. Der Schritt-für-Schritt-Debugger, begrenzt auf 100 Schritte, damit ein außer Kontrolle geratenes Muster die Seite nicht blockiert, zeigt dir zusätzlich, wie die Engine zu jedem Treffer gelangt. Füge deinen Ausdruck oben ein und beobachte das Badge, um sicherzustellen, dass er schnell bleibt.
Was ist der Unterschied zwischen einer Capture-Gruppe und einer nicht erfassenden Gruppe?
Eine Capture-Gruppe, geschrieben mit einfachen Klammern wie (\d{4}), gruppiert einen Teil des Musters und speichert zugleich, was sie getroffen hat, damit du später per Nummer oder mit der Syntax (?<jahr>\d{4}) per Namen darauf zugreifen kannst. Eine nicht erfassende Gruppe, geschrieben (?:...), gruppiert einen Teil des Musters, um einen Quantifizierer oder eine Alternation anzuwenden, ohne den getroffenen Text zu speichern — das hält deine Gruppennummerierung übersichtlich und ist etwas effizienter. Nutze Capture-Gruppen, wenn du einen Wert extrahieren oder in einer Ersetzung wiederverwenden musst; nutze nicht erfassende Gruppen rein für die Struktur. Beide Arten lassen sich verschachteln, und Quantifizierer lassen sich an beide anhängen, sodass (?:ab)+ das Paar wiederholt, ohne es zu erfassen. Dieses Tool listet jede nummerierte und benannte Capture-Gruppe zusammen mit dem aus deinem Testtext extrahierten Wert auf und hebt jede davon im getroffenen Text hervor, damit du bestätigen kannst, dass deine Gruppen genau die erwarteten Daten liefern, bevor du sie in deinen Code einbaust.
Wie verwende ich Backreferences wie $1 bei Suchen und Ersetzen?
Backreferences lassen eine Ersetzung Text wiederverwenden, den die Gruppen deines Musters erfasst haben. In Ersetzungs-Strings referenzierst du die erste Capture-Gruppe als $1, die zweite als $2 und so weiter, sodass ein Muster wie (\w+)@(\w+) mit der Ersetzung $2.$1 die beiden Hälften eines Tokens rund um das At-Zeichen vertauscht. So formatierst du Daten um, ordnest Namen neu an oder schreibst URLs um, ohne den getroffenen Inhalt neu eintippen zu müssen. Je nach Syntax, die deine Zielsprache unterstützt, lassen sich auch benannte Gruppen referenzieren. Beachte, dass eine Backreference wie \1 innerhalb des Musters selbst stattdessen denselben Text matcht, den die Gruppe bereits erfasst hat — das ist etwas anderes als $1 in der Ersetzung. Der Suchen-und-Ersetzen-Modus in diesem Tool zeigt die ersetzte Ausgabe live in der Vorschau, während du den Ersetzungs-String bearbeitest, wobei $1, $2 und so weiter genauso aufgelöst werden wie in echtem Code. Wechsle oben zum Ersetzen-Tab, um deine Substitution zu testen, bevor du sie in dein Projekt einfügst.
Warum verhält sich derselbe Regex in Python oder Java anders?
Regex-Dialekte sind nicht über alle Sprachen hinweg identisch. Dieses Tool läuft mit der nativen JavaScript-Engine (ECMAScript), derselben, die auch in Node und Browsern zum Einsatz kommt, doch Pythons re, Javas Pattern, PHPs PCRE, Gos RE2 und andere unterscheiden sich bei der Unterstützung von Lookbehinds, der Syntax für benannte Gruppen, der Handhabung von Inline-Flags und der Art, wie Flags übergeben werden. Ein Muster, das hier funktioniert, braucht anderswo womöglich kleine Anpassungen, besonders bei Unicode und Backreferences. RE2-basierte Engines wie die von Go lehnen manche Konstrukte sogar komplett ab, um lineare Laufzeit zu garantieren. Deshalb generiert der eingebaute Code-Generator deinen fertigen Ausdruck für JavaScript, TypeScript, Python, Java, PHP, Go, Ruby, C#, Rust und Swift, übersetzt Flags in die jeweilige Sprachidiomatik, etwa re.IGNORECASE oder Pattern.CASE_INSENSITIVE, und weist auf die Eigenheiten jeder Sprache hin. Der sicherste Workflow ist, zunächst hier gegen repräsentativen Beispieltext zu validieren, da ein korrekt aussehendes Muster in einem anderen Dialekt trotzdem Randfälle übersehen kann. Passe dein Muster oben an und kopiere anschließend den generierten Code für deine Zielsprache, um Überraschungen zwischen den Dialekten zu vermeiden.
Embed This Tool
Add a free, live version of this widget to your own website or blog post — it runs entirely in your visitors' browsers, with a credit link back to The Toolbox.
<iframe src="https://getthetoolbox.com/embed/code-tools-regex-tester" title="Free Regex Tester & Debugger — The Toolbox" width="100%" height="320" style="max-width:480px;border:1px solid #e2e8f0;border-radius:12px" loading="lazy"></iframe>
<p style="font-size:12px;margin:4px 0 0"><a href="https://getthetoolbox.com/code-tools/regex-tester?utm_source=embed&utm_medium=widget" target="_blank" rel="noopener">Free Regex Tester & Debugger</a> by The Toolbox</p>Verwandte Tools
Kostenloser CSS-Minifier online
Minifizieren Sie CSS-Code, um die Dateigröße zu verringern und die Ladegeschwindigkeit zu verbessern. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser JavaScript-Minifier
Minifizieren Sie JavaScript-Code, um die Dateigröße zu verringern und die Leistung zu verbessern. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser HTML-Minifier online
Minimiere HTML-Code, um Seitengröße und Ladezeit zu reduzieren. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Kostenloser SQL-Formatierer & Verschönerer
Formatiere und verschönere SQL-Abfragen für bessere Lesbarkeit. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Über den Regex-Tester & Debugger
Der Regex-Tester & Debugger ist eine kostenlose Online-Werkbank zum Erstellen und Debuggen regulärer Ausdrücke. Gib ein Muster ein, füge etwas Beispieltext ein, und das Tool hebt jeden Treffer in Echtzeit hervor, listet die extrahierten Capture-Gruppen auf und meldet Syntaxfehler in dem Moment, in dem sie auftreten. Es ist gemacht für Entwickler, Daten-Jongleure und alle, die schon einmal vor einer Wand aus Backslashes saßen und sich fragten, warum ein Muster plötzlich alles oder gar nichts trifft.
Reguläre Ausdrücke sind notorisch schwer zu lesen, deshalb tut das Tool mehr, als nur zu matchen. Es erklärt, was dein Muster tatsächlich macht, warnt vor Konstrukten, die die Engine zum Hängen bringen können, und generiert direkt einsetzbaren Code in zehn Sprachen, damit der hier fein abgestimmte Ausdruck nahtlos in dein Projekt wandert.
Alles läuft direkt im Browser mit der nativen JavaScript-Regex-Engine (derselben ECMAScript-Implementierung, die dein Code auch in Node und im Browser nutzt). Nichts, was du eingibst — Muster, Testtext oder Ersetzung — wird hochgeladen oder auf einem Server gespeichert. Es gibt keine Anmeldung und kein Nutzungslimit.
So testest und debuggst du ein Muster
Gib deinen Ausdruck ein und schalte beliebige der sechs Flags um, die sein Verhalten steuern:
- g (global) — findet jeden Treffer, statt beim ersten aufzuhören.
- i (Groß-/Kleinschreibung ignorieren) — matcht Buchstaben unabhängig von der Schreibweise.
- m (mehrzeilig) — lässt
^und$an jeder Zeile ankern, nicht nur am gesamten String. - s (dotall) — erlaubt
., auch Zeilenumbrüche zu matchen. - u (Unicode) — aktiviert vollständige Unicode-Verarbeitung und strengeres Parsing.
- y (sticky) — matcht nur ab der aktuellen Position der Engine.
Während du tippst, werden Treffer im Testtext hervorgehoben, und jede nummerierte sowie benannte Capture-Gruppe wird mit ihrem Wert aufgelistet. Ein kleines Ausführungszeit-Badge bewertet jeden Durchlauf von Schnell bis Sehr langsam, und ein Schritt-für-Schritt-Debugger zeigt, wie die Engine zu jedem Treffer gelangt (begrenzt auf 100 Schritte, damit ein außer Kontrolle geratenes Muster die Seite nicht blockieren kann). Schreibst du etwas wie (.*)+, warnt das Tool vor katastrophalem Backtracking — verschachtelten Quantifizierern, die die Matching-Zeit bei bestimmten Eingaben explodieren lassen können.
Ersetzen, Batch-Testen und Exportieren
Ein Suchen-und-Ersetzen-Modus zeigt Ersetzungen live in der Vorschau, wobei Backreferences wie $1 genauso funktionieren wie im Code. Im Mehrzeilen-Tab kannst du ein Muster gegen viele Zeilen gleichzeitig prüfen — praktisch, um zum Beispiel eine Spalte voller E-Mail-Adressen oder Log-Einträge zu validieren. Passt der Ausdruck, generiert der Code-Generator ihn für JavaScript, TypeScript, Python, Java, PHP, Go, Ruby, C#, Rust und Swift, inklusive korrekter Flag-Übersetzung (Pythons re.IGNORECASE, Javas Pattern.CASE_INSENSITIVE und so weiter) sowie Hinweisen zu den Eigenheiten jeder Sprache. Du kannst jedes Ergebnis kopieren, herunterladen oder die gesamte Konfiguration als URL teilen, die Muster, Flags und Testtext beim Öffnen wiederherstellt. Zuletzt verwendete Muster werden im Local Storage deines Browsers gespeichert, damit du später darauf zurückgreifen kannst.
Eine Bibliothek fertiger Muster
Wenn du lieber von einem funktionierenden Beispiel ausgehen möchtest, bietet die eingebaute Bibliothek rund 30 geprüfte Muster für die häufigsten Anwendungsfälle: E-Mail-Adressen, HTTP/HTTPS-URLs, US-amerikanische und internationale Telefonnummern, IPv4- und IPv6-Adressen, MAC-Adressen, ISO- und US-Datumsformate, 24-Stunden-Zeiten, Hex-Farbwerte, UUIDs, semantische Versionsnummern, Regeln für starke Passwörter, Kreditkartenformate, URL-Slugs, Markdown-Links und mehr. Jedes Muster kommt mit einer Beschreibung und Beispieltext, damit du es erst in Aktion siehst, bevor du es anpasst. Sie sind ein verlässlicher Ausgangspunkt, aber teste immer gegen deine eigenen Daten — ein "gültige E-Mail"-Regex zum Beispiel kann die E-Mail-Spezifikation niemals vollständig abbilden, und die meisten produktiven Muster sind bewusste Kompromisse zwischen Strenge und Praktikabilität.
Warum ein Tester wichtig ist
Ein regulärer Ausdruck, der korrekt aussieht, kann still und leise zu viel matchen oder Randfälle übersehen, und ein einzig falsch platzierter Quantifizierer kann aus einem schnellen Muster eines machen, das bei echten Eingaben ins Stocken gerät. Testen gegen repräsentative Beispiele vor dem Einsatz deckt beide Probleme auf. Füge dein Muster und etwas Text oben ein, um genau zu sehen, was es trifft, zu verstehen warum, und das Ergebnis anschließend in deine Codebasis zu übernehmen.