Einleitung
Reguläre Ausdrücke sind mächtig – aber oft kryptisch. AI kann Regex-Patterns erklären, erstellen und testen. Das spart Stunden an Trial-and-Error. Hier sind 10 Prompts für die Arbeit mit Regex.
Im Grunde sparst du dadurch langfristig viel Zeit.
Inhaltsverzeichnis
- Prompt 1: Regex erklären
- Prompt 2: Regex aus Beschreibung erstellen
- Prompt 3: Validierungs-Patterns
- Prompt 4: Daten extrahieren
- Prompt 5: Suchen & Ersetzen
- Prompt 6: Lookahead & Lookbehind
- Prompt 7: Named Groups & Capturing
- Prompt 8: Regex Performance
- Prompt 9: Regex Flavors (JS, Python, PHP)
- Prompt 10: Regex testen & debuggen
- FAQ
Folglich verbessert sich die gesamte Codequalität deutlich.
Prompt 1: Regex erklären
Darüber hinaus bietet dieser Abschnitt konkrete Beispiele und Tipps.
Erkläre diese Regex Schritt für Schritt:
```
[REGEX HIER EINFÜGEN]
```
Erkläre:
1. Jedes Zeichen/Token einzeln
2. Was matcht die Regex? (2-3 Beispiele die matchen)
3. Was matcht sie NICHT? (2-3 Beispiele die nicht matchen)
4. Gibt es Edge Cases oder Probleme?
5. Visualisiere den Ablauf als Flussdiagramm (Text)
6. Gibt es einen einfacheren Weg, dasselbe auszudrücken?
Format: Token-für-Token Erklärung, dann Gesamtbild.
Sprache: [JavaScript / Python / PHP]
Dementsprechend ist eine manuelle Überprüfung empfehlenswert.
Somit ergibt sich ein klarer Vorteil gegenüber manuellen Methoden.
Prompt 2: Regex aus Beschreibung erstellen
Weiterhin ist es wichtig, die Grundlagen zu verstehen.
Erstelle eine Regex für folgendes:
Ich möchte matchen: [z.B. "Deutsche Telefonnummern"]
Gültige Beispiele:
- [z.B. "+49 171 1234567"]
- [z.B. "0171/1234567"]
- [z.B. "0171-123 45 67"]
Ungültige Beispiele:
- [z.B. "12345"]
- [z.B. "+1 555 1234"]
Anforderungen:
1. Erstelle die Regex mit Erklärung
2. Teste gegen alle meine Beispiele
3. Zeige 5 weitere Edge Cases
4. Biete eine strikte und eine lockere Variante an
5. Zeige die Regex als named-group Version
Sprache: [JavaScript / Python / PHP]
Kontext: [Formular-Validierung / Log-Parsing / Daten-Import]
Deshalb empfiehlt es sich, den Prompt schrittweise zu verfeinern.
Dabei ist der folgende Punkt besonders wichtig.
Prompt 3: Validierungs-Patterns
Dennoch solltest du einige Besonderheiten beachten.
Erstelle Validierungs-Regex für folgende Felder:
1. **E-Mail**: RFC 5322 konform (aber praxistauglich)
2. **Passwort**: Min. 8 Zeichen, Groß+Klein+Zahl+Sonderzeichen
3. **Benutzername**: 3-20 Zeichen, nur Buchstaben, Zahlen, _ und -
4. **PLZ Deutschland**: 5 Ziffern (01000-99999)
5. **IBAN**: DE + 2 Prüfziffern + 18 Ziffern
6. **Handynummer**: Deutsche Mobilfunknummern (alle Netze)
7. **URL**: Mit und ohne Protokoll, mit Pfad/Query
8. **Datum**: DD.MM.YYYY (mit Validierung: kein 32.13.2025)
9. **Kreditkarte**: Visa, Mastercard, Amex (mit Luhn-Hinweis)
10. **Steuernummer**: Deutsche Steuernummer/USt-ID
Pro Regex:
- Pattern + Erklärung
- 3 valide + 3 invalide Testfälle
- Warnung bei bekannten Limitierungen
Tatsächlich lässt sich dieser Code direkt in dein Projekt übernehmen.
Natürlich kannst du den Ansatz an deine Bedürfnisse anpassen.
Prompt 4: Daten extrahieren
Ebenso wichtig ist es, die Best Practices zu kennen.
Extrahiere Daten aus folgendem Text mit Regex:
Text:
```
[TEXT HIER EINFÜGEN]
```
Extrahiere:
1. [z.B. "Alle E-Mail-Adressen"]
2. [z.B. "Alle URLs mit Protokoll"]
3. [z.B. "Datumsangaben (verschiedene Formate)"]
4. [z.B. "Geldbeträge mit Währung"]
5. [z.B. "IP-Adressen"]
Für jede Extraktion:
- Regex Pattern mit Named Groups
- Code-Beispiel (match/matchAll)
- Erwartete Ergebnisse
- Edge Cases die nicht erfasst werden
Sprache: [JavaScript / Python / PHP]
Output: Extrahierte Daten als strukturiertes Array/Objekt.
Im Folgenden gehe ich auf die wichtigsten Details ein.
Prompt 5: Suchen & Ersetzen
Dabei spielen mehrere Faktoren eine wichtige Rolle.
Erstelle Regex Search-and-Replace Muster:
Aufgabe: [z.B. "Datumsformat von US (MM/DD/YYYY) zu DE (DD.MM.YYYY) konvertieren"]
Input-Beispiele:
```
[BEISPIEL-TEXT]
```
Erwartetes Output:
```
[GEWÜNSCHTES ERGEBNIS]
```
Erstelle:
1. Regex mit Capture Groups für den Match
2. Replacement String mit Backreferences ($1, $2 oder \1, \2)
3. Code-Beispiel mit .replace() / re.sub()
4. Globale Ersetzung (alle Vorkommen)
5. Case-insensitive wenn nötig
6. Multiline wenn nötig
Zeige auch die VS Code "Search and Replace" Syntax.
Warnung bei destructiven Ersetzungen (Daten könnten verloren gehen).
Dabei zeigt dieses Beispiel den grundlegenden Ansatz.
Ebenso hilfreich ist ein strukturierter Ansatz bei der Umsetzung.
Prompt 6: Lookahead & Lookbehind
Deshalb lohnt es sich, dieses Thema genauer zu betrachten.
Erkläre und erstelle Regex mit Lookahead/Lookbehind:
Aufgabe: [z.B. "Matche Zahlen, aber nur wenn sie nach einem € stehen"]
Erkläre die 4 Typen:
1. **Positive Lookahead** (?=...): Matche wenn danach ... kommt
2. **Negative Lookahead** (?!...): Matche wenn danach NICHT ... kommt
3. **Positive Lookbehind** (?<=...): Matche wenn davor ... steht
4. **Negative Lookbehind** (?
Außerdem kannst du den Prompt für verschiedene Programmiersprachen anpassen.
Darüber hinaus solltest du diesen Aspekt berücksichtigen.
Prompt 7: Named Groups & Capturing
Ebenfalls relevant sind die praktischen Anwendungsbeispiele.
Erstelle Regex mit Named Groups für:
Daten: [z.B. "Log-Einträge: '2025-03-15 14:30:05 ERROR [auth] Login failed for user@email.com'"]
Implementiere:
1. **Named Groups**: (?<name>...) statt anonyme Groups
2. Extrahiere: Datum, Zeit, Level, Modul, Nachricht
3. **Non-capturing Groups**: Verwende (?:...) wo nötig
4. **Backreferences**: Wiederholungen finden (\1, \k<name>)
5. **Alternation in Groups**: (error|warning|info)
Erweiterte Patterns:
6. Nested Groups: Haupt-Match + Sub-Matches
7. Optional Groups: Felder die nicht immer da sind
8. Wiederholt capturende Groups (alle Matches einer Gruppe)
9. Conditional Patterns (wenn Gruppe matcht, dann...)
10. Ergebnis als Objekt/Dictionary aufbereiten
Code: Zeige .match() result mit allen Groups.
Sprache: [JavaScript / Python / PHP]
Weiterhin ist es ratsam, die Ergebnisse immer kritisch zu prüfen.
Vor allem in der Praxis hat sich dieser Workflow bewährt.
Prompt 8: Regex Performance
Folglich profitierst du von einem besseren Verständnis dieser Konzepte.
Analysiere und optimiere die Performance meiner Regex:
Regex: [REGEX HIER]
Text-Größe: [z.B. "10.000 Zeilen Log-Datei"]
Aktuelle Laufzeit: [z.B. "3 Sekunden, zu langsam"]
Prüfe auf:
1. **Catastrophic Backtracking**: (a+)+ oder (a|a)+ Muster
2. **Greedy vs. Lazy**: .* vs. .*? (wann welches?)
3. **Atomic Groups**: (?>...) für Backtracking-Vermeidung
4. **Possessive Quantifiers**: a++ statt a+
5. **Anchoring**: ^ und $ nutzen um Suche einzuschränken
6. **Character Classes**: [abc] statt (a|b|c)
7. **Regex Compilation**: Pattern einmal kompilieren, oft nutzen
8. **Alternation Order**: Häufigste Alternative zuerst
9. **Unnötige Groups**: (?:...) statt (...) wenn kein Capture nötig
10. **Alternative zu Regex**: Wann besser .includes(), .startsWith(), Parser?
Benchmark: Zeige vorher/nachher Performance-Vergleich.
Dennoch sollte man die Limitierungen im Blick behalten.
Prompt 9: Regex Flavors (JS, Python, PHP)
Außerdem gibt es hilfreiche Tools, die dich dabei unterstützen.
Konvertiere diese Regex zwischen verschiedenen Sprachen:
Regex: [REGEX HIER]
Quell-Sprache: [z.B. "Python"]
Ziel-Sprachen: JavaScript, PHP
Zeige die Unterschiede:
1. **Named Groups**: (?P<name>...) (Python) vs (?<name>...) (JS)
2. **Lookbehind**: Variable Länge (Python) vs fixed (JS, bis ES2024)
3. **Unicode**: \p{L} Support (JS mit /u, Python mit regex Modul)
4. **Flags**: re.MULTILINE (Python) vs /gm (JS) vs preg/m (PHP)
5. **Replacement**: \1 (Python) vs $1 (JS) vs $1/\\1 (PHP)
6. **Atomic Groups**: Nur in PHP/PCRE, nicht in JS
7. **Possessive Quantifiers**: PHP ja, JS nein (bis ES2024)
8. **Recursion**: PHP (PCRE) kann Recursion, JS/Python nicht
9. **Neue JS Features**: /v flag, Set Notation (ES2024)
10. **Modul-Empfehlung**: Python re vs regex, JS natives vs XRegExp
Tabelle: Feature-Vergleich der Regex-Engines.
Ebenfalls sinnvoll ist es, verschiedene Varianten auszuprobieren.
Allerdings gibt es dabei einige Punkte, die du beachten solltest.
Prompt 10: Regex testen & debuggen
Grundsätzlich gibt es dabei einige Punkte zu beachten.
Hilf mir beim Testen und Debuggen meiner Regex:
Regex: [REGEX HIER]
Test-Strings:
```
[TEST STRINGS]
```
Erwartete Ergebnisse:
- String 1: Match (Groups: ...)
- String 2: Kein Match
- String 3: Match (Groups: ...)
Analysiere:
1. Welche Strings matchen tatsächlich?
2. Welche Groups werden gecaptured?
3. Warum matcht String X nicht? (Schritt-für-Schritt Trace)
4. Gibt es unerwartete Matches?
5. Edge Cases die ich nicht bedacht habe?
6. Erstelle eine Testmatrix (Match/No-Match) als Tabelle
7. Korrigierte Regex falls Fehler gefunden
8. Unit Test Code für die Regex
9. Empfehle Regex-Tools: regex101.com, regexr.com
10. Erstelle 10 weitere Testfälle für robustes Testing
Format: Testmatrix + korrigierte Regex + Test-Code.
Darüber hinaus lässt sich das Beispiel leicht erweitern.
Insbesondere für fortgeschrittene Projekte ist das relevant.
FAQ
Wann sollte ich keine Regex verwenden?
Im Folgenden findest du alle wichtigen Details dazu.
Vermeide Regex für: HTML/XML Parsing (nutze DOM Parser), komplexe Grammatiken (nutze Parser), einfache String-Operationen (.includes(), .startsWith()), und E-Mail-Validierung (nutze Libraries). Regex ist perfekt für Pattern-Matching in unstrukturiertem Text.
Wie vermeide ich Catastrophic Backtracking?
Im Grunde vereinfacht dieser Ansatz den gesamten Workflow erheblich.
Vermeide verschachtelte Quantifier wie (a+)+. Nutze Atomic Groups (?>...) und Possessive Quantifiers a++ wo verfügbar. Teste mit langen Strings und lege Timeouts fest. regex101.com zeigt die Anzahl der Steps an.
Kann AI wirklich gute Regex schreiben?
Zusammenfassend lässt sich sagen, dass dies ein zentraler Aspekt ist.
AI ist exzellent für Regex – oft besser als manuelles Schreiben. Gib konkrete Beispiele (Match + No-Match) und du erhältst präzise Regex mit Erklärung. Immer mit regex101.com verifizieren. AI erklärt auch obskure Legacy-Regex besser als jede Dokumentation.
Dementsprechend solltest du die einzelnen Schritte sorgfältig abarbeiten.
Verwandte Artikel:
- 50 ChatGPT Prompts für Entwickler
- Darüber hinaus AI für Shell Scripts & Automation
- AI für Code-Debugging
Zusammenfassend bietet dieser Abschnitt praktische Handlungsempfehlungen.
Zuletzt aktualisiert: März 2026