DevToys Web Pro iconDevToys Web ProBlog
Bewerten Sie uns:
Browser-Erweiterung ausprobieren:

Tester für reguläre Ausdrücke

Konfiguration

Muster

Testzeichenfolge

  • Treffer

    Geben Sie ein Muster ein, um Treffer zu sehen

    Ersetzen

    Referenz

    Zeichenklassen

    .Beliebiges Zeichen außer Zeilenumbruch
    [abc]Entspricht a, b oder c
    [^abc]Entspricht allem außer a, b, c
    [a-z]Zeichenbereich (a bis z)
    \dZiffer (0-9)
    \DKeine Ziffer
    \wWortzeichen [a-zA-Z0-9_]
    \WKein Wortzeichen
    \sLeerzeichen
    \SKein Leerzeichen

    Anker

    ^Anfang der Zeichenkette/Zeile
    $Ende der Zeichenkette/Zeile
    \bWortgrenze
    \BKeine Wortgrenze

    Escape-Zeichen

    \tTabulator
    \nZeilenumbruch
    \rWagenrücklauf
    \0Nullzeichen
    \xhhHex-Zeichen (z. B. \xFF)
    \uhhhhUnicode-Zeichen

    Gruppen & Referenzen

    (abc)Erfassende Gruppe
    (?:abc)Nicht erfassende Gruppe
    (?<name>abc)Benannte erfassende Gruppe
    \1Rückreferenz auf Gruppe 1
    \k<name>Rückreferenz auf benannte Gruppe

    Lookaround

    (?=abc)Positiver Lookahead
    (?!abc)Negativer Lookahead
    (?<=abc)Positiver Lookbehind
    (?<!abc)Negativer Lookbehind

    Quantifizierer & Alternation

    a*0 oder mehr (gierig)
    a+1 oder mehr (gierig)
    a?0 oder 1 (optional)
    a{n}Genau n-mal
    a{n,}n-mal oder öfter
    a{n,m}Zwischen n- und m-mal
    a*?0 oder mehr (lazy)
    a+?1 oder mehr (lazy)
    a|bEntspricht a oder b

    Ersetzung

    $1, $2Inhalt der erfassten Gruppe
    $&Gesamter Treffer
    $`Vor dem Treffer
    $'Nach dem Treffer
    $$Wörtliches $-Zeichen
    Technische Details

    So funktioniert der RegEx-Tester

    Was das Tool macht

    Der Regex-Tester ermöglicht es Ihnen, reguläre Ausdrücke in Echtzeit gegen Beispieltext zu testen. Er fungiert sowohl als Regex-Debugger als auch als Regex-Validator und hilft Entwicklerinnen und Entwicklern dabei, Pattern-Matching-Ausdrücke zu erstellen, zu testen und zu verfeinern. Dieser Tester verwendet die JavaScript-RegExp-Engine (ECMAScript), daher kann sich die Syntax von PCRE-, .NET- oder Java-Regex-Engines unterscheiden. Wenn Sie Regex online testen müssen, zeigt dieses Tool alle Treffer, Capture Groups und Ersetzungen an. Das Tool unterstützt die JavaScript-Regex-Syntax einschließlich JavaScript-Regex-Flags (g, i, m, s, u): global (g), case-insensitive (i), multiline (m), dotAll (s) und unicode (u). Es hebt Treffer im Teststring hervor, zeigt Capture Groups an und kann Find-and-Replace-Operationen ausführen, um eine Vorschau zu geben, wie ein Regex Text transformieren würde.

    Häufige Anwendungsfälle für Entwickler

    Entwicklerinnen und Entwickler verwenden Regex-Tester beim Erstellen von Validierungsmustern, beim Parsen von Logdateien oder beim Extrahieren von Daten aus Strings. Das Testen von Regexp-Patterns hilft, Edge Cases zu identifizieren, komplexe Ausdrücke zu debuggen und zu verstehen, wie verschiedene Flags das Matching-Verhalten beeinflussen. Viele nutzen Regex-Tester, um E-Mail-Adressen, Telefonnummern, URLs oder andere strukturierte Datenformate zu validieren. Das Tool ist wertvoll bei Formularvalidierung, Log-Analyse oder Textverarbeitungsaufgaben. Regex-Tester helfen auch beim Lernen regulärer Ausdrücke, da sie zeigen, wie Patterns Text über Match-Iteration und Gruppenextraktion matchen. Beim Testen von Regexp mit mehrzeiligem Text oder Sonderzeichen hilft das Tool Entwicklerinnen und Entwicklern, genau zu sehen, was gematcht wird und warum.

    Datenformate, Typen oder Varianten

    Regex-Tester verarbeiten die JavaScript-Syntax für reguläre Ausdrücke, die auf Perl-ähnlichen Regex basiert, sich aber in einigen Punkten von anderen Regex-Engines unterscheidet. Das Tool unterstützt Zeichenklassen wie \d für Ziffern, \w für Wortzeichen und \s für Whitespace. Es unterstützt Anchors (^, $), Quantifizierer (*, +, ?) und Alternation (|). Das Multiline-Flag beeinflusst, wie ^ und $ matchen, während das dotAll-Flag bewirkt, dass . Newline-Zeichen matcht. Das Verständnis des Regex-Newline-Verhaltens ist entscheidend für die Verarbeitung mehrzeiliger Texte. Beispielsweise zeigt das Testen eines Patterns wie /\d-\d-\d/ gegen einen Telefonnummern-String genau, welche Teile matchen. Regex-Newline-Handling hängt von Flags ab: Das Pattern ^foo.*bar$ matcht "foo\nbar" nur mit dem dotAll-Flag (s), da . standardmäßig keine Newlines matcht. Wenn Sie mit Regex-Newline-Patterns arbeiten, verwenden Sie \n, um literale Newlines zu matchen, oder \r\n für Windows-Zeilenenden.

    Häufige Fallstricke und Sonderfälle

    Ein häufiger Fehler ist zu vergessen, dass JavaScript-Regex Schrägstriche als Delimiter verwenden, nicht Anführungszeichen. Ein weiteres Problem ist ein Missverständnis darüber, wie das Global-Flag das Matching beeinflusst: Ohne dieses wird nur der erste Treffer zurückgegeben, mit ihm werden alle Treffer gefunden. Regex-Newline-Handling kann knifflig sein: Das Zeichen . matcht standardmäßig keine Newlines, es sei denn, das dotAll-Flag wird verwendet. Die Negation von Zeichenklassen mit [^...] kann verwirrend sein, da sie jedes Zeichen matcht, das nicht in der Klasse enthalten ist. Greedy vs. Lazy-Quantifizierer (* vs *?) verhalten sich unterschiedlich und können unerwartete Ergebnisse verursachen. Lookahead- und Lookbehind-Assertions ((?=...), (?&lt;=...)) sind mächtig, können aber schwer zu debuggen sein. Entwicklerinnen und Entwickler sollten Regex-Patterns mit verschiedenen Eingaben testen, einschließlich Edge Cases wie leeren Strings, Sonderzeichen und Unicode-Zeichen.

    Wann dieses Tool statt Code verwenden

    Verwenden Sie diesen Regex-Tester für schnelle Pattern-Entwicklung, zum Debuggen komplexer Ausdrücke oder zum Lernen der Syntax regulärer Ausdrücke. Er ist ideal, um Regex-Patterns zu testen, bevor Sie sie im Code implementieren – besonders bei unbekannter Syntax oder komplexen Patterns. Das visuelle Feedback hilft zu erkennen, warum ein Pattern bestimmten Text matcht oder nicht. Für Produktivcode verwenden Sie Regex-Tester, die in IDEs oder Unit-Testing-Frameworks integriert sind und Patterns als Teil Ihrer Test-Suite validieren können. Browser-Tools eignen sich hervorragend für interaktive Entwicklung und Lernen, während codebasierte Lösungen Automatisierung, Integration in CI/CD-Pipelines und die Möglichkeit bieten, Patterns gegen große Datensätze zu testen. Für komplexe Anwendungen stellt automatisiertes Regex-Testing sicher, dass Patterns über verschiedene Eingaben und Edge Cases hinweg korrekt funktionieren.