Was sind reguläre Ausdrücke?

Reguläre Ausdrücke, auch bekannt als „regex“ oder „regexp“, sind eine Folge von Zeichen, die ein Suchmuster definieren. Sie werden verwendet, um Text aus einem größeren Textkorpus abzugleichen und zu extrahieren und werden häufig in der Programmierung, beim Data Mining und zur Manipulation und Extraktion von Text genutzt. In der Arbeit mit Text können RegEx unter anderem zur Datenüberprüfung, zum Suchen und Ersetzen und zur Textanalyse verwendet werden.

Zeichenauswahl und Zeichenklassen in RegEx

SymbolErklärung
[abc]findet jedes einzelne Zeichen in der Menge (a, b oder c)
[^abc]findet jedes einzelne Zeichen, das nicht in der Menge enthalten ist (a, b oder c)
{n}Passt auf genau n Vorkommen des vorangehenden Zeichens oder der vorangehenden Gruppe
{n,}Passt auf n oder mehr Vorkommen des vorangehenden Zeichens oder der vorangehenden Gruppe
{n,m}Entspricht mindestens n und höchstens m Vorkommen des vorangehenden Zeichens oder der vorangehenden Gruppe
^entspricht dem Anfang einer Zeile
$Entspricht dem Ende einer Zeile
.passt auf jedes einzelne Zeichen, außer auf eine neue Zeile
*passt auf null oder mehr der vorangehenden Zeichen
+Entspricht einem oder mehreren der vorangehenden Zeichen
?entspricht null oder einem der vorangehenden Zeichen
\dentspricht einer beliebigen Ziffer (entspricht [0-9])
\DPasst auf eine beliebige Nicht-Ziffer
\wpasst auf jedes Wortzeichen (alphanumerische Zeichen und Unterstriche)
\WEntspricht einem beliebigen Nicht-Wort-Zeichen
\sentspricht einem beliebigen Leerzeichen (einschließlich Tabulatoren und Leerzeichen)
\SPasst zu jedem Zeichen, das kein Leerzeichen ist
|Entspricht entweder dem vorangehenden oder dem folgenden Zeichen oder der Gruppe
()Gruppiert die eingeschlossenen Zeichen und wendet den folgenden Quantifizierer auf die gesamte Gruppe an

Beispiele für reguläre Ausdrücke aus der Praxis

Validierung von E-Mail-Adressen

Ein regulärer Ausdruck kann verwendet werden, um zu prüfen, ob eine gegebene Zeichenkette eine gültige E-Mail-Adresse ist, indem sie mit einem Muster verglichen wird, das die Struktur einer gültigen E-Mail-Adresse definiert.

Beispielsyntax:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Parsing von URLs

Ein regulärer Ausdruck kann verwendet werden, um die verschiedenen Teile einer URL zu extrahieren, z. B. das Protokoll, den Hostnamen und den Pfad.

Beispielsyntax:

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$

Extrahieren von Telefonnummern aus Text

Ein regulärer Ausdruck kann verwendet werden, um Telefonnummern aus einem Textblock zu identifizieren und zu extrahieren.

Beispielsyntax:

^(?:\+\d{1,3}|0\d{1,3}|00\d{1,2})?(?:\s?\d){9,12}$

Entfernen von HTML-Tags aus einer Zeichenkette

Ein regulärer Ausdruck kann verwendet werden, um alle HTML-Tags aus einer Zeichenfolge zu entfernen, so dass nur der reine Textinhalt übrig bleibt.

Beispielsyntax:

\/?[^>]+

Suche nach bestimmten Wörtern oder Mustern in einer Zeichenkette

Ein regulärer Ausdruck kann verwendet werden, um schnell nach einem bestimmten Wort oder Muster in einer Zeichenfolge zu suchen.

Beispielsyntax:

\b(Wort1|Wort2|Wort3)\b

Ersetzen von Text

Ein regulärer Ausdruck kann verwendet werden, um alle Vorkommen eines bestimmten Wortes oder Musters in einer Zeichenfolge durch ein anderes Wort oder Muster zu ersetzen.

Beispielsyntax:

(Wort1|Wort2|Wort3)

Extrahieren von Daten aus strukturierten Dateien

Ein regulärer Ausdruck kann verwendet werden, um bestimmte Daten aus strukturierten Dateien wie CSV, JSON und Protokollen zu extrahieren.

Beispielsyntax:

(\w+)=(\d+)

Validierung von Kreditkartennummern

Ein regulärer Ausdruck kann verwendet werden, um sicherzustellen, dass eine bestimmte Zeichenfolge eine gültige Kreditkartennummer ist, indem sie mit einem Muster verglichen wird, das die Struktur einer gültigen Kreditkartennummer definiert.

Beispielsyntax:

^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$

Tokenisierung eines Satzes

Reguläre Ausdrücke können verwendet werden, um einen Satz in Wörter und Satzzeichen zu zerlegen.

Beispielsyntax:

\w+|[^\w\s]+

Datenextraktion aus natürlichsprachigem Text

Ein regulärer Ausdruck kann verwendet werden, um bestimmte Informationen wie Namen, Daten, Preise usw. aus natürlichem Text zu extrahieren.

Beispielsyntax:

\b