Diese Seite soll eine kurze Einführung zu regulären Ausdrücken sein und erhebt keinen Anspruch auf Vollständigkeit. In dem Buch Reguläre Ausdrücke von Jeffrey E.F. Friedl, erschienen bei O'REILLY, finden Sie eine ausführliche Einführung zu diesem Thema.
Reguläre Ausdrücke sind Suchmuster, mit deren Hilfe Sie Zeichenfolgen überprüfen können. So können Sie z. B. den Meldungstext einer Netzwerkmeldung oder Daten der seriellen Schnittstelle mit einem regulären Ausdruck prüfen. Ein regulärer Ausdruck besteht aus einem oder mehreren Zeichen, die zu suchen sind, und wird durch Sonderzeichen ergänzt, die bestimmte Funktionen ausführen.
Beispiel: |
Eine Maschine sendet Daten über die serielle Schnittstelle:
Mit dem regulären Ausdruck |
---|
Wenn Sie eines der Zeichen in der linken Spalte der nachfolgenden Tabelle sowie den umgekehrten Schrägstrich "\" und den Bindestrich "-" suchen möchten, stellen Sie ihnen einen umgekehrten Schrägstrich "\
" voran (maskieren).
Zeichen | Funktion |
---|---|
^ | Das Zirkumflex markiert den Anfang einer Zeichenfolge. Der Ausdruck ^Test trifft nur zu, wenn die zu überprüfende Zeichenfolge mit Test beginnt. |
$ | Das Dollarzeichen markiert das Ende einer Zeichenfolge. Der Ausdruck Test$ trifft nur zu, wenn die zu überprüfende Zeichenfolge mit Test endet.
|
. |
Der Punkt ist ein Platzhalter für ein beliebiges Zeichen. Der Ausdruck Wenn Sie nach dem Zeichen . selbst suchen, muss das Zeichen mit "\" maskiert werden. Der Ausdruck |
* | Der Asterisk (Sternchen) ist ein Wiederholungsoperator und bedeutet, dass das vorangestellte Zeichen nicht oder beliebig oft vorkommen kann.
Der Ausdruck ab*c findet abc, abbbbbc, aber auch ac.
|
+ | Das Pluszeichen ist ebenfalls ein Wiederholungsoperator und bedeutet, dass das vorangestellte Zeichen mindestens einmal oder beliebig oft vorkommen kann.
Der Ausdruck ab+c findet abc, abbbbbc, ac jedoch nicht.
|
? | Das Fragezeichen bedeutet, dass ein vorangestelltes Zeichen kein oder einmal vorkommen darf. Der Ausdruck ab?c findet abc und ac, aber nicht abbc.
|
[ ] |
Ausdrücke in eckigen Klammern markieren eine Zeichenklasse. Eine Zeichenklasse kann als Liste oder als Bereich definiert werden. Der Ausdruck
Eine Zeichenklasse kann auch negiert werden, indem Sie das Zirkumflex voranstellen. Der Ausdruck |