Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


Reguläre Ausdrücke

Zusammenfassung:

Reguläre Ausdrücke sind eine zwar kryptische, aber mächtige Möglichkeit zur Stringverarbeitung.

Reguläre Ausdrücke

Mit ihnen können wir ein bestimmtes Muster in einer Zeichenkette finden. Spezielle Funktionszeichen .*?+[]{}|()^$\ erlauben uns eine präzise Definition des Musters.

. Steht für alle Zeichen außer \n
* Das Zeichen kann beliebig oft vorkommen. Beispiel: "(los)*"
? Das Zeichen kommt optional vor: einmal oder gar nicht. Beispiel: "(los)?"
+ Das Zeichen kommt mindestens einmal vor. Beispiel: "(los)+"
[] definiert eine Zeichenklasse, etwa [0-9] oder [A-Z]. Beispiele: "[1-6]" für Schulnoten. Dabei können Vereinigungsmengen definiert werden: "^[b-h[r-v]]+" läßt alle Zeichen von b bis h oder r bis v zu. "^[b-x&&[g-k]]+" dagegen erzwingt eine Schnittmenge: alles im Zeichenbereich b-x UND g-k, hier bleibt g-k. "^[b-x&&[^g-k]]+" dagegen definiert eine Ausschlußmenge: alles im Bereich b-x, ausgenommen die Zeichen g-k.
{} ist ein Quantifizierer. "[0-9]{3}": es müssen exakt 3 Ziffern vorhanden sein. "[a-z]{1,9}": es muß mindestens ein und max. 9 Zeichen aus dem Bereich "a-z" vorhanden sein. "[A-Z]{5,}": das Zeichen muß mindestens 5 mal vorkommen. "[A-Z]{,10}": das Zeichen darf maximal 10 mal vorkommen.
| definiert eine Alternative, z.B. "(Mon|Tues|Wednes|Thurs|Fri|Satur|Sun)day" findet jeden Tag der Woche.
() faßt Teile zusammen. "(.*)(tag|woch)$" ist mit allem einverstanden, sofern die letzten Zeichen "tag" oder "woch" sind.
^ definiert den Anfang einer Zeichenkette, z.B.: "^[A-Z]{1}": der erste Buchstabe der Zeichenkette (bzw. der Anfang einer Zeile) muß groß sein. Innerhalb einer Zeichenklasse definiert es, daß das Zeichen nicht mit jenen Zeichen der Zeichenklasse übereinstimmen darf. "[^0-9]" ergibt für "9" das Resultat false, für "9XYZ" jedoch true.
$ Ende einer Zeichenkette, z.B.: "[a-z]$": der letzte Buchstabe der Zeichenkette (auch am Ende jeder Zeile) muß klein sein.
\ maskiert ein Zeichen. Beispiele: "\." oder "\+": das Zeichen soll ein "." oder "+" sein. "\\" maskiert "\".
\d prüft, ob eine Zahl in der Zeichenkette ist. Beispiel: "X9Y" ergibt true, "XYz" ergibt false. Das Pattern "^\d{1,}(\.|/)\d{1,}$" beschreibt eine Telefonnummer der Art "0151.750360" oder "0151/750360".
\D prüft, ob ein Zeichen in der Zeichenkette enthalten ist, das keine Zahl ist. "951" ergibt false, "951X" ergibt true.
\w prüft, ob ein Wortzeichen in der Zeichenkette enthalten ist. "*?+[]{}|()^$\" ergibt false, "*?+[]{}|X()^$\" ergibt dagegen true.
\n Zeilenumbruch.
\t Tabulatorvorschub.

qrpic/regexpr.jpg

wg / 3. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

Mobil: 0151. 750 360 61 * eMail: info10@wilfried-grupe.de