Editor

Warte auf Eingabe oder Regex-Ausführung…

Aktionen

?
?
?

Über Online-Regex-Tester

Fügen Sie Text ein, schreiben Sie ein Regex-Muster, schalten Sie Flags um und sehen Sie sofort, was übereinstimmt. Dieser Regex-Tester verwendet dieselbe RegExp-Engine wie moderne JavaScript-Laufzeitumgebungen, sodass das, was Sie hier sehen, auch in Ihrem Frontend-Code, Node.js-Skripten oder serverseitigen Validierungen funktioniert. Benannte Erfassungsgruppen, Lookarounds und Unicode-Modus werden unterstützt, wenn Ihre Laufzeitumgebung sie unterstützt.

Warum diesen Regex-Tester verwenden

  • Echtzeit-Abgleich mit optionalem "Live"-Modus, der bei jeder Eingabe neu ausgeführt wird
  • Strukturierte Trefferliste mit Startindex, Endindex, Wert und benannten Erfassungsgruppen
  • Vollständige JavaScript/ECMAScript RegExp-Syntaxunterstützung (gleiche Engine wie Ihre JS-Laufzeitumgebung)
  • Flag-Steuerung: g, i, m, s, u, y – sicher kombinieren und experimentieren
  • Grundlegende Leistungseinblicke mit Ausführungszeit pro Durchlauf in Millisekunden
  • Nur-Text-Zusammenfassungsausgabe für schnelles Kopieren/Einfügen in Tickets, Dokumente oder Commit-Nachrichten
  • Hervorragend zum Lernen: Muster prototypisieren ohne vollständiges Projekt oder Testsuite
  • Ideal für alltägliche Aufgaben: Log-Analyse, Validierung, URL-/ID-Extraktion, schnelle Datenbereinigung
  • Ergebnisliste ist weich begrenzt, um UI-Einfrieren bei großen Texten zu vermeiden

🔧 So verwenden Sie den Regex-Tester for regex-tester

1

1. Fügen Sie Ihren Testtext ein oder tippen Sie ihn

Fügen Sie den Text hinzu, den Sie durchsuchen möchten: Logs, Ausschnitte, CSV-Fragmente, HTML, JSON, alles, was Klartext ist.

2

2. Schreiben Sie Ihr Regex-Muster

Geben Sie den regulären Ausdruck **ohne umgebende Schrägstriche** ein. Zum Beispiel: <code>\b\w+@\w+\.\w+</code> für ein einfaches E-Mail-ähnliches Muster oder <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> mit benannten Gruppen.

3

3. Flags setzen (g, i, m, s, u, y)

Schalten Sie Flags wie <code>g</code> (global), <code>i</code> (groß-/kleinschreibungsunabhängig) oder <code>m</code> (mehrzeilig) um. Im Hintergrund erstellt der Tester <code>new RegExp(pattern, flags)</code> genau wie JavaScript.

4

4. Treffer & Gruppen überprüfen

Überprüfen Sie jeden Treffer mit seinem Index, optionalem Endindex und Erfassungsgruppen. Benannte Gruppen erscheinen als JSON-ähnliche Map, sodass Sie sie in Test-Fixtures, Parser oder Dokumentation kopieren können.

5

5. Zusammenfassung kopieren

Verwenden Sie die Textzusammenfassung als schnellen Bericht: Sie listet Treffer mit Indizes und Gruppen auf, bereit zum Einfügen in Tickets, Code-Review-Kommentare oder Spickzettel.

Regex-Syntax & Engine-Details

Zeichenklassen & Grundlagen

Kernbausteine, die von der JavaScript RegExp-Engine unterstützt werden.

MusterBedeutungBeispiel
.Beliebiges Zeichen außer Zeilenumbrüchen (außer bei <code>s</code>-Flag)<code>a.c</code> → passt auf <code>abc</code>
\d, \w, \sZiffern, Wortzeichen, Leerzeichen<code>\d+</code> → <code>123</code>
\D, \W, \SNegierte Versionen der obigen<code>\S+</code> → Nicht-Leerzeichen-Folgen
[abc]Zeichensatz<code>[aeiou]</code> → ein einzelner Vokal
[^abc]Negierter Satz<code>[^0-9]</code> → Nicht-Ziffer
^, $Anfang und Ende der Eingabe (oder Zeile mit <code>m</code>)<code>^Hello</code>, <code>!$</code>

Quantifizierer

Wiederholung vorheriger Tokens, mit gierigem und trägem Verhalten.

MusterBedeutungBeispiel
?0 oder 1 Mal<code>colou?r</code> → passt auf <code>color</code> und <code>colour</code>
*0 oder mehr<code>a*b</code> → <code>b</code>, <code>aaab</code>
+1 oder mehr<code>\d+</code> → <code>1</code>, <code>123</code>
{n}Genau n<code>a{3}</code> → <code>aaa</code>
{n,}Mindestens n<code>\d{3,}</code> → <code>123</code>, <code>1234</code>
{n,m}Zwischen n und m<code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code>

Gruppen, Lookarounds & Benannte Erfassungen

Weitere fortgeschrittene Funktionen, die von modernen JavaScript-Engines bereitgestellt werden.

FunktionSyntaxBeispiel
Erfassungsgruppen(...)<code>(\d{3})-(\d{2})</code> → Bereich + Suffix
Nicht-erfassende Gruppen(?:...)<code>(?:https?|ftp)://</code>
Rückverweise\1, \2, ...<code>(\w)\1</code> → <code>aa</code>, <code>bb</code>
Vorausschau(?=...), (?!...)<code>\w+(?=! )</code> → Wort vor <code>! </code>
Rückwärtssuche*(?<=...), (?<!...)<code>(?<=#)\w+</code> → Text nach <code>#</code> (*in modernen Engines)
Benannte Gruppen(?<name>...)<code>(?<year>\d{4})</code> → <code>groups.year</code> in Ergebnissen

Flags (Optionen)

Die Flags des Testers entsprechen direkt den JavaScript RegExp-Flags.

FlagNameWirkung
gGlobalFindet alle Übereinstimmungen statt nur der ersten
iGroß-/Kleinschreibung ignorierenGroß-/Kleinschreibung-unabhängige Übereinstimmung
mMehrzeilig<code>^</code> und <code>$</code> entsprechen Zeilengrenzen
sDotAll<code>.</code> entspricht auch Zeilenumbrüchen
uUnicodeAktiviert den Unicode-Modus und Eigenschafts-Escapes in modernen Engines
yStickyNur am aktuellen Index übereinstimmen (wird mit <code>lastIndex</code> verwendet)

Leistung & Sicherheit

Die zugrunde liegende JavaScript-Engine führt Regex synchron aus. Um die Benutzeroberfläche reaktionsfähig zu halten, begrenzt der Tester die Anzahl der gesammelten Übereinstimmungen (z.B. die ersten 500 Treffer im globalen Modus). Dies hilft, die Benutzeroberfläche nicht zu überfluten, ersetzt jedoch keine vollständigen Leistungsaudits für komplexe oder kritische Muster.

Regex-Tools für die Befehlszeile

Sobald Ihr Muster hier funktioniert, können Sie dasselbe oder ähnliche Regex in Ihrem Terminal, Skripten oder CI-Jobs wiederverwenden:

Linux / macOS

Suche mit grep (erweiterte Regex)

grep -E 'pattern' file.txt

Zeilen finden, die einem bestimmten Muster entsprechen

Suchen & Ersetzen mit sed

sed -E 's/pattern/replacement/g' input.txt > output.txt

Stapelersetzungen in Textdateien

Windows / PowerShell

PowerShell-Regex-Suche

Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txt

US-amerikanische SSN-Muster in Protokolldateien finden (Beispiel)

PowerShell-Regex-Ersetzung

(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txt

Einfache regex-basierte Ersetzungen

Praktische Regex-Anwendungen

Web- & Frontend-Entwicklung

  • E-Mails, Benutzernamen, Slugs oder benutzerdefinierte IDs in Formularen validieren
  • Routenparameter aus URLs oder Pfaden extrahieren
  • Schnell Prototypen für clientseitige Validierung erstellen
// Basic email-like validation
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);
// Route params: /post/123
const match = pathname.match(/^\/post\/(\d+)/);

Protokolle, Daten & Backend

  • Zeitstempel und Level aus Protokollzeilen parsen
  • Leerzeichen normalisieren und unordentlichen Text bereinigen
  • IDs, E-Mails oder Referenzen aus unstrukturierten Inhalten extrahieren
// Collapse repeated whitespace
const normalized = text.replace(/\s+/g, ' ').trim();
// Simple log line matcher
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);

Datenbereinigung & Schnellskripte

  • Unerwünschte HTML-Tags oder Attribute vor dem Parsen entfernen
  • Alle URLs, E-Mails oder IDs aus einem langen Textblock ziehen
  • Datenfeldbereiche für den Import in ein anderes System vorbereiten

❓ Frequently Asked Questions

Warum findet mein Regex nichts?

Häufige Fallstricke: 1) Sonderzeichen nicht maskiert (wie ., ?, +), 2) Vergessen des g-Flags bei mehreren Treffern, 3) Fehlende Anker (^, $) oder Wortgrenzen (\b), 4) Verwendung von Funktionen, die Ihre JavaScript-Engine noch nicht unterstützt (wie einige Lookbehinds). Vereinfachen Sie das Muster und fügen Sie Teile schrittweise hinzu.

⏱️Was bedeutet die Ausführungszeit (ms)?

Jeder Durchlauf wird mit performance.now() gemessen. Der Wert ist eine grobe Einzeldurchlaufmessung, wie lange der Regex für die aktuelle Eingabe benötigt hat. Es ist nützlich, um offensichtlich aufwändige Muster zu erkennen, aber kein vollständiger Benchmark oder eine Garantie für Produktionsleistung.

🔍Was ist der Unterschied zwischen erstem Treffer und globalem Modus?

Ohne das g-Flag gibt JavaScript nur den **ersten** Treffer zurück (falls vorhanden). Mit g verwendet der Tester input.matchAll(), um **alle** Treffer zu sammeln (begrenzt auf ein sicheres Maximum), einschließlich Indizes und Erfassungsgruppen. Verwenden Sie den globalen Modus, wenn Sie mehrere Vorkommen beachten möchten.

🌍Unterstützt dies Unicode und <code>\p{...}</code>-Escapes?

Ja, wenn Ihre JavaScript-Engine es unterstützt. Aktivieren Sie das u-Flag für den Unicode-Modus, der Dinge wie \p{Letter} oder \p{Script=Greek} in modernen Browsern und neueren Node.js-Versionen freischaltet.

⚠️Kann dies katastrophales Backtracking erkennen?

Der Tester kann langsame Muster über die Ausführungszeit andeuten, aber katastrophales Backtracking kann nicht vollständig verhindert werden: Die zugrunde liegende Engine läuft weiterhin synchron. Nutzen Sie dieses Tool als Frühwarnsystem und benchmarken und überprüfen Sie dann komplexe Muster sorgfältig in Ihrer eigenen Codebasis.

Pro Tips

Best Practice

Bauen Sie Ihren Regex in kleinen Teilen auf. Beginnen Sie mit etwas Einfachem, das passt, und fügen Sie dann Schritt für Schritt Anker, Gruppen und Quantifizierer hinzu.

Best Practice

Verwenden Sie nach Möglichkeit benannte Erfassungsgruppen (<code>(?<name>...)</code>). Sie machen Ihre Treffer selbsterklärend und viel leichter lesbar während Code-Reviews.

Best Practice

Seien Sie vorsichtig mit <code>.*</code> und verschachtelten Quantifizierern. Sie können bei großen Eingaben starkes Backtracking verursachen. Machen Sie Muster spezifischer oder begrenzen Sie Wiederholungen mit <code>{n,m}</code>.

Best Practice

Entfernen Sie beim Debuggen vorübergehend das <code>g</code>-Flag und konzentrieren Sie sich auf den ersten Treffer, um das mentale Modell zu vereinfachen.

Additional Resources

Other Tools