Sommario   Guida in linea MOBOTIX

Reguläre Ausdrücke

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:

[...]
2003-09-22 12:24:50 roboctrl ready
2003-09-22 12:24:51 roboctrl starting process
2003-09-22 12:25:25 roboctrl finished in 34sec
2003-09-22 12:25:30 roboctrl ready
2003-09-22 12:25:31 roboctrl starting process
2003-09-22 12:25:33 error: no material found
2003-09-22 12:25:33 roboctrl stop on error

Mit dem regulären Ausdruck stop.*error wird ein Ereignis ausgelöst, wenn die Maschine, wie hier in der letzten Zeile, einen Fehler meldet.


Sonderzeichen

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 ab.d trifft auf abcd oder abad zu, nicht aber auf abccd.

Wenn Sie nach dem Zeichen . selbst suchen, muss das Zeichen mit "\" maskiert werden. Der Ausdruck ab\.d trifft dann nur auf ab.d zu.

* 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 [abc] definiert eine Liste von Zeichen, [a-m] einen Bereich.

[0-9] findet z. B. alle Ziffern, [a-z] alle Kleinbuchstaben. Sie können mehrere Bereiche innerhalb einer Zeichenklasse verwenden, wie in [0-9a-zA-Z], oder Listen und Bereiche mischen: [afm0-6].

Eine Zeichenklasse kann auch negiert werden, indem Sie das Zirkumflex voranstellen. Der Ausdruck [^ab] trifft zu, wenn das Zeichen kein a oder b ist.

cn, de, en, es, fr, it, jp

© 2001-2024 MOBOTIX AG, Germany · http://www.mobotix.com/