Reguläre Ausdrücke
Übersicht zu regulären Ausdrücken
Im vorherigen Abschnitt hast du reguläre Ausdrücke kennengelernt, mit denen du prüfen konntest,
ob ein eingegebener Text eine (vereinfachte) E-Mail-Adresse ist. Am Ende müsste dein Ausdruck ungefähr so ausgesehen haben:
b+(.b+)*@b+.(de|ch|at)
Dieser Ausdruck gibt ein Muster für vereinfachte E-Mail-Adressen vor. Wenn ein Eingabetext nach diesem Muster aufgebaut ist, dann gehört er zur formalen Sprache "vereinfachte E-Mail-Adresse". Allgemein lässt sich das so formulieren:
Ein regulärer Ausdruck ist eine Zeichenfolge, die ein Muster für Texte vorgibt. Damit definiert ein regulärer Ausdruck eine formale Sprache. Zu dieser Sprache gehören alle Zeichenfolgen, die nach dem vorgegebenen Muster aufgebaut sind.
Neben den normalen Textzeichen kommen in regulären Ausdrücken auch sogenannte Metazeichen vor, das sind Textzeichen, die in regulären Ausdrücken eine besondere Bedeutung haben.
Metazeichen | Bedeutung | Beispiel |
---|---|---|
() | Klammern zur Bildung von Elementgruppen | (.b+) |
| | Trennzeichen zwischen sich ausschließenden Alternativen | (de|ch|at) |
* | Element(gruppe) kann beliebig oft (auch gar nicht) vorkommen | b* |
+ | Element(gruppe) muss mindestens einmal vorkommen, kann mehrfach vorkommen | b+ |
? | Element(gruppe) kann einmal oder kein mal vorkommen | b? |
Formale Sprachen, die durch einen regulären Ausdruck beschrieben werden können, gehören zur Gruppe der regulären Sprachen. Sie können mit einem Endlichen Automaten (link folgt) erkannt werden.
In diesem Kapitel werden nur die grundlegenden Techniken zum Aufbau von regulären Ausdrücken behandelt. Wenn du mehr Details wissen willst, dann kannst du dir das Kapitel Umsetzung mit Python (link folgt) anschauen.