Zum Hauptinhalt springen

Regex Tester

Reguläre Ausdrücke online testen und debuggen

Deine Regex matcht nicht wie erwartet? Füge dein Pattern und deinen Text unten ein. Treffer, Capture-Gruppen und Positionen werden in Sekunden angezeigt.

Optionen

Sichere RE2-Engine

RE2 garantiert eine lineare Ausführungszeit. Kein Risiko von ReDoS, selbst bei komplexen Patterns.

Detaillierte Capture-Gruppen

Benannte und indexierte Gruppen werden mit ihren exakten Byte-Positionen im Quelltext angezeigt.

4 konfigurierbare Flags

Groß-/Kleinschreibung ignorieren, mehrzeilig, Dot-All und Non-Greedy. Per Klick vor dem Test aktivierbar.

Sofortige Ergebnisse

Bis zu 1.000 Treffer in Echtzeit analysiert. Präzise Byte-Positionen für jeden Match.

Natives UTF-8

Das Pattern wird auf UTF-8-Text ausgewertet. Umlaute, Emojis und Sonderzeichen werden vollständig unterstützt.

Warum reguläre Ausdrücke online testen?

Du schreibst eine Regex, sie sieht korrekt aus, und trotzdem matcht sie in Produktion nicht. Der Grund: Syntaxfehler, Unicode-Grenzfälle oder Unterschiede zwischen Engines bleiben ohne Test unsichtbar.

Drei zentrale Anwendungsfälle:

  • Pattern vor der Integration validieren - Stelle sicher, dass deine Regex exakt das matcht, was du erwartest
  • Bestehendes Pattern debuggen - Finde heraus, warum eine Regex die falschen Teilstrings erfasst
  • RE2-Kompatibilität prüfen - Bestätige, dass dein Pattern mit der RE2-Engine von Go funktioniert, bevor du es deployst

So verwendest du den Regex Tester in 3 Schritten

Schritt 1: Pattern eingeben

Gib deinen regulären Ausdruck in das dafür vorgesehene Feld ein. Beispiel zum Extrahieren einer SPF-Domain:

include:(?P<domain>[a-z0-9._-]+)

Schritt 2: Testtext einfügen

Füge den Text ein, gegen den du deine Regex testen möchtest:

v=spf1 include:_spf.captaindns.com include:spf.protection.outlook.com ~all

Aktiviere bei Bedarf die Flags (Groß-/Kleinschreibung ignorieren, mehrzeilig usw.).

Schritt 3: Ergebnisse lesen

Das Tool zeigt jeden Treffer mit Byte-Position, gematchtem Inhalt und Capture-Gruppen an. Benannte Gruppen erscheinen mit ihrem Namen.


Was ist ein regulärer Ausdruck?

Ein regulärer Ausdruck (Regex) ist ein Pattern, das eine Menge von Zeichenketten beschreibt. Du nutzt Regex, um Text zu suchen, zu validieren oder Teilstrings gezielt zu extrahieren.

Grundlegende Bestandteile:

ElementSyntaxBeispielErgebnis
Literales Zeichenaabc in „abcdef"matcht „abc"
Zeichenklasse[a-z][0-9]+ in „port 443"matcht „443"
Quantifizierer+, *, ?a+ in „aab"matcht „aa"
Capture-Gruppe(...)(abc) in „xabcx"erfasst „abc"
Anker^, $^v=spf1matcht am Zeilenanfang
Alternativea|bcat|dog in „my cat"matcht „cat"

Konkretes Beispiel mit benannten Gruppen:

(?P<protocol>https?)://(?P<domain>[a-z0-9.-]+)

Angewendet auf https://captaindns.com/tools:

  • Gruppe protocol: https
  • Gruppe domain: captaindns.com

RE2-Syntax vs. PCRE: die Unterschiede

Go und Google setzen auf RE2. Diese Engine unterscheidet sich fundamental von PCRE (PHP, JavaScript, Python):

FunktionRE2PCRE
Garantierte AusführungszeitLinear (O(n))Exponentiell möglich
Lookahead/LookbehindNicht unterstütztUnterstützt
Backreferences (\1)Nicht unterstütztUnterstützt
Possessive QuantifiziererNicht unterstütztUnterstützt
Benannte Gruppen(?P<name>...)(?P<name>...) oder (?<name>...)
Globaler Non-Greedy-Flag(?U)Kein Standard
UnicodeNativ (UTF-8)Über Flag u

Vorteil von RE2: Lineare Laufzeitgarantie eliminiert ReDoS-Angriffe (Regular Expression Denial of Service). Deshalb ist RE2 die Standardwahl für produktionskritische Webdienste.


Praxisnahe Anwendungsfälle

SPF-Eintrag validieren

Situation: Du willst prüfen, ob dein SPF-Eintrag die richtigen Include-Mechanismen enthält.

Diagnose: Teste das Pattern include:([a-z0-9._-]+) gegen den Wert deines TXT-Eintrags. Das Tool listet jede enthaltene Domain mit ihrer Position auf.

Aktion: Vergleiche die extrahierten Domains mit deiner Soll-Liste. Fehlende oder fehlerhafte Includes fallen sofort auf.

E-Mail-Adressen aus einem Text extrahieren

Situation: Du musst alle E-Mail-Adressen aus einer Konfigurationsdatei extrahieren.

Diagnose: Verwende das Pattern [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} mit dem Flag ‚Groß-/Kleinschreibung ignorieren'. Jede gefundene E-Mail erscheint als separater Treffer.

Aktion: Prüfe jede extrahierte Adresse auf Legitimität und korrektes Format.

Log-Parsing-Pattern debuggen

Situation: Dein Log-Parser erfasst den Timestamp nicht im richtigen Format.

Diagnose: Teste dein Pattern mit benannten Gruppen: (?P<date>\d{4}-\d{2}-\d{2}) (?P<time>\d{2}:\d{2}:\d{2}). Prüfe, ob die Gruppen die richtigen Teilstrings erfassen.

Aktion: Passe Quantifizierer oder Zeichenklassen an, bis die Gruppen die erwarteten Werte liefern.


Häufige Syntaxfehler

FehlerUrsacheLösung
error parsing regexpUngültige Syntax (nicht geschlossene Klammer, Quantifizierer ohne Ziel)Überprüfe Klammern und eckige Klammern
invalid escape sequenceNicht erkannte Escape-Sequenz in RE2Verwende \\ für einen literalen Backslash
invalid named captureFalsche Syntax für eine benannte GruppeVerwende (?P<name>...) (nicht (?<name>...))
invalid repeat countQuantifizierer außerhalb der GrenzenReduziere den Wert des Quantifizierers
Kein ErgebnisPattern zu restriktiv oder Flag fehltAktiviere das Flag „Groß-/Kleinschreibung ignorieren" oder Dot-All

❓ FAQ - Häufig gestellte Fragen

F: Warum findet meine Regex keinen Treffer?

A: Überprüfe die RE2-Syntax: Lookahead/Lookbehind und Backreferences werden nicht unterstützt. Aktiviere das Flag „Groß-/Kleinschreibung ignorieren", wenn dein Text unerwartete Großbuchstaben enthält. Prüfe außerdem, ob dein Pattern nicht-escapte Sonderzeichen enthält.


F: Was ist die RE2-Syntax?

A: RE2 ist die Regex-Engine von Go. Sie garantiert eine lineare Ausführungszeit relativ zur Eingabegröße, im Gegensatz zu PCRE, das anfällig für ReDoS-Angriffe (Regular Expression Denial of Service) sein kann.


F: Welche Regex-Flags sind verfügbar?

A: Vier Flags sind verfügbar: Groß-/Kleinschreibung ignorieren (i), mehrzeilig (m), Dot matcht Newline (s) und Non-Greedy (U). Jedes Flag ändert das Verhalten der Engine für das gesamte Pattern.


F: Wie groß darf der Text sein?

A: Das Pattern ist auf 10 KB und der Testtext auf 1 MB begrenzt. Die maximale Anzahl zurückgegebener Treffer beträgt 1.000. Diese Limits schützen den Dienst vor Missbrauch.


F: Was ist eine benannte Capture-Gruppe?

A: Eine benannte Gruppe verwendet die Syntax (?P<name>...) in RE2. Sie ermöglicht es, einen Teilstring über einen Namen statt über einen numerischen Index zu extrahieren. Nützlich für komplexe Patterns mit mehreren Gruppen.


F: Ist RE2 mit JavaScript-Regex kompatibel?

A: Teilweise. RE2 unterstützt die meiste gängige Syntax (Zeichenklassen, Quantifizierer, Gruppen). Fehlende Funktionen: Lookahead, Lookbehind, Backreferences und possessive Quantifizierer.


F: Werden die Daten gespeichert?

A: Nein. Dein Pattern und dein Text werden zur Verarbeitung an die CaptainDNS-API gesendet und anschließend sofort gelöscht. Kein Inhalt wird gespeichert oder protokolliert.


Ergänzende Tools

ToolZweck
Hash-GeneratorDen Hash eines von deiner Regex gematchten Textes berechnen
Base64-Encoder/DecoderBase64-Text dekodieren, bevor du ihn mit einer Regex testest
URL-Encoder/DecoderKodierte URLs dekodieren, bevor du sie per Regex extrahierst
Groß-/Kleinschreibung-KonverterTextschreibweise vor dem Testen normalisieren
SPF-InspektorSPF-Einträge überprüfen, die du per Regex validierst

Nützliche Ressourcen


Datenschutz-Engagement

Dein Pattern und dein Text werden ausschließlich zur Regex-Testausführung an die CaptainDNS-API gesendet. Kein Inhalt wird nach der Verarbeitung gespeichert. Nur anonyme Metriken werden protokolliert: Pattern-Größe, Trefferanzahl, Verarbeitungsdauer.