XPath 3.0, XPath 2.0, XPath 1.0 / XPath Funktionen / Stringfunktionen / Reguläre Ausdrücke

Reguläre Ausdrücke

Reguläre Ausdrücke

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.

wg / 6. November 2017



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse







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: info2018@wilfried-grupe.de

www.wilfried-grupe.de/regexpr.html