Wie schreibe ich eine Regex, ohne Regex zu können?
Statt Regex-Docs zu lesen und mit `\d+` und `[a-z]` von Hand zu kämpfen, paste Beispiele dafür, was matchen und was nicht matchen soll. Das Tool synthetisiert 3-6 Kandidaten-Reguläre-Ausdrücke und zeigt, welcher am besten passt.
Linke Textbox: was matchen soll (ein Beispiel pro Zeile). Rechte Textbox: was NICHT matchen soll. Der Algorithmus: tokenize, align, generalize, verify. Output: ein fertiges `/regex/flags` mit Test-Panel für jedes Beispiel.
Es probiert die einfachsten Patterns zuerst (Alternation `(opt1|opt2)`), dann positions-basiertes Matching, dann strukturelle Patterns mit Quantifiern wie `\d+`, `[a-z]+`. Zeigt jeden Kandidaten, du pickst oder tunest von Hand.
So nutzt du das Tool
- In "Should match" 3-10 Beispiele pasten, eines pro Zeile. Mehr Beispiele = bessere Regex.
- In "Should NOT match" Beispiele pasten, die NICHT matchen sollen (z. B. kaputte Emails, wenn du Emails zielst). Hilft dem Tool, zu breite Patterns zu rejecten.
- Tool generiert automatisch mehrere Kandidaten. Jeder zeigt: wie viele Positives matchten, wie viele Negatives fälschlich matchten.
- Kandidaten auswählen mit "Use this". Eine Vorschau erscheint mit Per-Beispiel-Testergebnissen.
- "Manual edit" anschalten, um die gewählte Regex zu tweaken (z. B. Word-Boundaries `\b` ergänzen, Flags `(?i)`).
- Copy auf der finalen Regex und in deinen Code pasten (JS, Python, Java, Go, PHP).
- Passt kein Kandidat perfekt, mehr Beispiele ergänzen (auf beiden Seiten). Der Algorithmus lernt aus jeder neuen Zeile.
Wann das nützlich ist
Echte Situationen, in denen Regex-Skills dir Stunden sparen:
- Formular-Validierung: ein "confirm email"-Feld braucht eine Regex. Aus 5 Sample-Emails in 30 Sekunden eine erzeugen.
- Log-Parsing: Timestamp-, IP-, User-Agent-Patterns in .log-Files jagen. 3-4 Log-Zeilen füttern, Pattern bekommen.
- CSV-/Excel-Daten säubern: Telefonnummern, PLZ, Datumsangaben extrahieren. Klassisch mühsam, Regex macht es in einem Ausdruck.
- Suchen & Ersetzen in Editoren: VSCode, Sublime, IntelliJ unterstützen alle Regex-Suche. Eine Regex ersetzt 200 Fragmente auf einen Schlag.
- API-Validierung: Express-Middleware, FastAPI-Pydantic, NestJS-Pipes, alle validieren Input via Regex.
- Database-Migrationen: `UPDATE table SET col = REGEXP_REPLACE(col, ...)` in Postgres, MySQL, Oracle.
- Web-Scraping: URLs, Emails, Telefonnummern aus HTML extrahieren (es gibt bessere Tools fürs HTML-Parsen, aber für einfache Fälle ist Regex okay).
- Terminal-Suche: `grep -E`, `ripgrep`, `ack` nutzen alle Regex. Blitzschnelle Suche durch Gigabytes Code.
- Input-Sanitization: prüfen, ob ein Username nur sichere Zeichen hat, ob eine Steuer-ID 10 Ziffern hat, ob eine ISBN ein gültiges Format hat.
Nach dem Erzeugen einer Regex, interaktiv testen oder zu Python konvertieren, wenn du in einer anderen Sprache arbeitest.