Skip to content
IRC-Coding IRC-Coding
Regex Reguläre Ausdrücke Mustererkennung Textanalyse Validierung Metazeichen Greedy Matching

Regex (Reguläre Ausdrücke) einfach erklärt

Reguläre Ausdrücke (Regex) sind Muster zur Identifizierung, Extraktion oder Validierung von Zeichenfolgen.

S

schutzgeist

1 min read

Regex (Reguläre Ausdrücke) – Textanalyse, Mustererkennung, E-Mail & Telefonnummer

Dieser Beitrag ist eine Begriffserklärung zu regulären Ausdrücken – inklusive Prüfungsfragen und Tags.

In a Nutshell

Reguläre Ausdrücke (Regex) sind Muster, mit denen sich bestimmte Zeichenfolgen in Texten identifizieren, extrahieren oder validieren lassen. Sie sind ein mächtiges Werkzeug zur automatisierten Textanalyse und Datenverarbeitung.

Kompakte Fachbeschreibung

Reguläre Ausdrücke definieren Suchmuster für Zeichenfolgen und ermöglichen die effiziente Analyse großer Textmengen. Sie kommen in nahezu allen Programmiersprachen sowie in vielen Kommandozeilentools (z.B. grep, sed) zum Einsatz. Typische Aufgaben sind das Extrahieren strukturierter Daten (wie E-Mail-Adressen, Telefonnummern), die Validierung von Formateingaben und die Transformation von Zeichenketten. Regex bestehen aus Literalzeichen, Metazeichen (., *, +, ?, []) und Steuerzeichen wie ^ und $. Durch Gruppierungen () und Alternativen | lassen sich komplexe Muster formulieren.

Prüfungsrelevante Stichpunkte

  • Regex ermöglichen Mustererkennung in Zeichenketten
  • Sie verwenden eine spezifische Syntax aus Literalen und Metazeichen
  • Dienen zur Validierung, Extraktion und Ersetzung von Textmustern
  • In vielen Programmiersprachen (z.B. Java, Python, JavaScript) direkt nutzbar
  • Erhöhen die Effizienz bei der Verarbeitung großer Datenmengen
  • Fehlerhafte Regex können zu Sicherheitslücken oder Performanceproblemen führen
  • Optimierte Regex vermeiden ReDoS (Regular Expression Denial of Service)
  • Regex-Muster müssen dokumentiert und getestet werden

Kernkomponenten

1. Literalzeichen (a, b, c, …)
2. Metazeichen (., *, +, ?, {n,m})
3. Zeichenklassen ([A-Z], [0-9])
4. Gruppenbildung ((...))
5. Alternativen (|)
6. Anker (^ für Beginn, $ für Ende)
7. Escaping (\.)
8. Lookaheads (?=...)
9. Greedy vs. Lazy Matching
10. Match- und Replace-Tests in Test-Frameworks

Praxisbeispiel

// Beispiel: Regex zur Extraktion von E-Mail-Adressen
regex = r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

Erklärung: Dieses Muster erkennt typische E-Mail-Adressen durch Kombination aus Zeichenklassen, Quantifizierern und Literalen.

Vorteile und Nachteile

Vorteile

  • Hohe Flexibilität und Präzision bei der Textanalyse
  • Plattformunabhängig nutzbar
  • Ideal für Validierung und Parsing

Nachteile

  • Komplexe Syntax, schwer lesbar
  • Fehleranfällig bei falschem Escaping oder Greedy Matching
  • Performanceprobleme bei ineffizienten Mustern

Typische Prüfungsfragen (mit Kurzantwort)

  1. Regex verwendet für? Suche, Analyse und Verarbeitung von Zeichenfolgen anhand vordefinierter Muster.
  2. Regex für Telefonnummer?
    \+49\s\d{3,5}\s\d{4,}
  3. Anfang und Ende im Regex? ^ (Anfang), $ (Ende)
  4. Alternative Zeichenfolgen formulieren? Mit Alternativzeichen |, z.B. Hund|Katze
  5. Zeichen . im Regex bedeutet? Beliebiges einzelnes Zeichen außer Zeilenumbrüchen.
  6. Greedy vs. Lazy Matching? Greedy matcht so viel wie möglich, lazy so wenig wie nötig.
  7. Regex sicherheitsrelevant? Schlecht geschriebene Regex können ReDoS-Angriffe ermöglichen.
  8. Komplexe reguläre Ausdrücke testen? Mit Tools wie regex101, Unit-Tests und realistischer Testdatenbasis.

Wichtigste Quellen

  1. https://regex101.com
  2. https://developer.mozilla.org/de/docs/Web/JavaScript/Guide/Regular_Expressions
  3. https://www.regular-expressions.info
Zurück zum Blog
Share:

Ähnliche Beiträge