Regex-Tester
Reguläre Ausdrücke in Echtzeit testen und debuggen. Übereinstimmungen hervorheben, Flags setzen und Ergebnisse sofort anzeigen. Kostenlos und privat.
Was ist der Regex-Tester?
Der Regex-Tester ist ein kostenloses Online-Tool zum Testen und Debuggen regulärer Ausdrücke (Regex) mit sofortigem visuellem Feedback. Geben Sie ein Muster und einen Teststring ein, um alle Übereinstimmungen in Echtzeit hervorgehoben zu sehen, zusammen mit detaillierten Informationen zu Erfassungsgruppen. Es ist ein unverzichtbares Werkzeug für Entwickler, die reguläre Ausdrucksmuster validieren, verfeinern oder erlernen müssen, ohne Testskripte zu schreiben.
Wie verwende ich diesen Regex-Tester?
- Geben Sie Ihr reguläres Ausdrucksmuster in das Mustereingabefeld ein.
- Setzen Sie die entsprechenden Flags: g für global (alle Übereinstimmungen finden), i für Groß-/Kleinschreibung ignorieren oder m für mehrzeiligen Modus.
- Geben Sie Ihren Teststring in den Textbereich ein oder fügen Sie ihn ein, um Übereinstimmungen sofort hervorgehoben zu sehen.
- Überprüfen Sie das Ergebnispanel, um jede Übereinstimmung, ihre Position und erfasste Gruppen zu sehen.
- Iterieren Sie an Ihrem Muster, indem Sie es ändern und beobachten, wie sich die Übereinstimmungen in Echtzeit ändern.
Tipps & Best Practices
Einfach beginnen und aufbauen
Beginnen Sie mit einem einfachen Muster, das einen Teil dessen erfasst, was Sie brauchen, und fügen Sie dann schrittweise Komplexität hinzu. Dieser inkrementelle Ansatz macht es viel einfacher zu debuggen, wenn etwas nicht wie erwartet übereinstimmt.
Nicht-erfassende Gruppen verwenden
Wenn Sie Gruppierung nur für Alternation oder Quantifizierer benötigen, aber die Übereinstimmung nicht extrahieren müssen, verwenden Sie (?:...) anstelle von (...). Dies verbessert die Leistung und hält Ihre Erfassungsgruppen-Nummerierung übersichtlich.
Sonderzeichen maskieren
Zeichen wie . * + ? ^ $ { } [ ] ( ) | \ haben in Regex eine besondere Bedeutung. Wenn Sie sie wörtlich abgleichen möchten, müssen Sie sie mit einem Backslash maskieren. Verwenden Sie zum Beispiel \. um einen tatsächlichen Punkt abzugleichen.
Grenzfälle testen
Testen Sie Ihren Regex immer gegen Grenzfälle wie leere Zeichenketten, Zeichenketten mit Sonderzeichen, sehr lange Eingaben und Eingaben, die NICHT übereinstimmen sollten. Ein Muster, das bei einfachen Daten funktioniert, kann bei realen Eingaben versagen.
Häufige Anwendungsfälle
Formulareingabe-Validierung
Erstellen und testen Sie Regex-Muster zur Validierung von E-Mail-Adressen, Telefonnummern, Postleitzahlen und anderen Benutzereingaben, bevor Sie sie in der Frontend- oder Backend-Validierungslogik Ihrer Anwendung implementieren.
Logdatei-Analyse
Erstellen Sie Muster zum Extrahieren von Zeitstempeln, Fehlercodes, IP-Adressen und anderen strukturierten Daten aus Serverprotokollen. Testen Sie den Regex gegen Beispiel-Logeinträge, um eine genaue Extraktion sicherzustellen, bevor Sie ihn in Skripten verwenden.
Suchen und Ersetzen im Code
Entwickeln Sie komplexe Such-und-Ersetz-Muster zum Refactoring von Code über große Dateien hinweg. Testen Sie den Regex hier zuerst, um zu überprüfen, ob er genau das trifft, was Sie beabsichtigen, bevor Sie eine Massenersetzung in Ihrer IDE oder Befehlszeile durchführen.
FAQ
Welche Regex-Varianten werden unterstützt?
Dieses Tool verwendet die integrierte RegExp-Engine von JavaScript, die die meisten gängigen Regex-Funktionen unterstützt.
Was bedeuten die Flags?
g = global (alle Übereinstimmungen finden), i = Groß-/Kleinschreibung ignorieren, m = mehrzeilig (^ und $ gelten für Zeilengrenzen).
Kann ich Lookahead- und Lookbehind-Assertions verwenden?
Ja. JavaScript unterstützt positives Lookahead (?=...), negatives Lookahead (?!...), positives Lookbehind (?<=...) und negatives Lookbehind (?<!...). Dies sind leistungsstarke Funktionen zum Abgleichen von Mustern basierend auf dem umgebenden Kontext, ohne diesen Kontext in die Übereinstimmung einzubeziehen.
Warum stimmt mein Muster mit mehr überein als erwartet?
Dies wird normalerweise durch gierige Quantifizierer wie .* verursacht, die so viel Text wie möglich abgleichen. Versuchen Sie stattdessen die faule (nicht-gierige) Version .*?, die so wenig wie möglich abgleicht. Überprüfen Sie auch, ob Sie die richtigen Anker (^ und $) verwenden, um Ihre Übereinstimmung einzuschränken.
Wie gleiche ich über mehrere Zeilen ab?
Aktivieren Sie das m-Flag (mehrzeilig), damit ^ und $ den Anfang und das Ende jeder Zeile anstelle des gesamten Strings abgleichen. Wenn Sie möchten, dass der Punkt (.) auch Zeilenumbruchzeichen abgleicht, können Sie [\s\S] als Alternative verwenden, da JavaScript das s-Flag (dotAll) nicht in allen Umgebungen unterstützt.