Reguläre Ausdrücke, Beispiele unterschiedlicher Komplexität

Geändert am Do, 13 Apr, 2023 um 12:56 NACHMITTAGS

Es folgen mehrere Beispiele für reguläre Ausdrücke, jeweils mit Erläuterung der Abschnitte und deren Funktionsweise:


Validierung eines eingelesenen Barcode-Wertes mit mehreren Metadaten-Abschnitten: 

(Beispiel für einen solchen Wert: 20081022#BVerwG 5 C 2.09#VG 1 K 1225/08##)

^20\d{6}#.*$      hier wird nur der Anfang des Barcodes geprüft, die darauf folgenden Metadaten nicht ...
^              Anfang des durchsuchten Strings.
20             Sucht nach den Zeichen 2 und 0 (Datum aus diesem Jahrhundert)
\d{6}          Sucht nach 6 beliebigen Ziffern (die den Rest des Datums bilden)
#              Sucht nach dem Zeichen # (wird hier zur Trennung der Metadaten verwendet)
.*             Sucht nach einer beliebigen Anzahl beliebiger weiterer Zeichen
$              Ende des durchsuchten Strings am Ende der aktuellen Zeile

Aufspaltung des oben validierten Barcode-Wertes in einzelne Indexfelder:

(Beispiel: Der Inhalt zwischen dem ersten  und dem zweiten #-Zeichen soll ausgeschnitten werden)

^[^#]*#([^#]*)#[^#]*#[^#]*#.*$     im Barcode-Wert müssen mindestens vier #-Zeichen vorhanden sein
^              Anfang des durchsuchten Strings.
[^#]*          Sucht nach einer beliebigen Anzahl von Zeichen, die nicht # sind
#              Sucht nach dem Zeichen # (wird hier zur Trennung der Metadaten verwendet)
(              Beginn des ausgeschnittenen Bereichs
[^#]*          Sucht nach einer beliebigen Anzahl von Zeichen, die nicht # sind
)              Ende des ausgeschnittenen Bereichs
#              Sucht nach dem Zeichen # (wird hier zur Trennung der Metadaten verwendet)
[^#]*          Sucht nach einer beliebigen Anzahl von Zeichen, die nicht # sind
#              Sucht nach dem Zeichen # (wird hier zur Trennung der Metadaten verwendet)
[^#]*          Sucht nach einer beliebigen Anzahl von Zeichen, die nicht # sind
#              Sucht nach dem Zeichen # (wird hier zur Trennung der Metadaten verwendet)
.*             Sucht nach einer beliebigen Anzahl beliebiger weiterer Zeichen
$              Ende des durchsuchten Strings am Ende der aktuellen Zeile


Validierung eines Indexfeldes mit händisch eingegebenen Aktenzeichen

^\d{1,2}\s\b(?:I|II|III|IV|VI|VII|VIII|X|XI|XII|XIV|XV|XVII|XVIII|ARs|B|BEW|Bs|C|Cs|DR|Ds|F|FH|Gs|H|HL|HLw|Hs|IE|IK|IN|J|JL|Js|K|Kart.|KLs|Ks|L|Ls|Lw|LwE|LwH|LwS|LwV|LwZ|M|N|Ns|O|OH|OJs|OWi|Qs|Ps|Rs|S|SH|StVK|T|U|UF|UFH|UH|UJs|Vollz|VRJs|VRs|Vs|W|WF|Ws|Ww|WXv|Zs)\b\s\d{1,4}/\d{1,2}$
^              Anfang des durchsuchten Strings.
\d{1,2}        Sucht nach ein oder zwei Ziffern (Kammer-Nummer)
\s             … gefolgt von genau einem Leerzeichen oder TAB
\b(?:I|II|III|IV|VI|VII|VIII|X|XI|XII|XIV|XV|XVII|XVIII|ARs|B|BEW|Bs|C|Cs|DR|Ds|F|FH|Gs|H|HL|HLw|Hs|IE|IK|IN|J|JL|Js|K|Kart.|KLs|Ks|L|Ls|Lw|LwE|LwH|LwS|LwV|LwZ|M|N|Ns|O|OH|OJs|OWi|Qs|Ps|Rs|S|SH|StVK|T|U|UF|UFH|UH|UJs|Vollz|VRJs|VRs|Vs|W|WF|Ws|Ww|WXv|Zs)\b
Der obige Abschnitt beinhaltet die gängigen juristischen AZ-Kürzel - diese müssen zusammenhängend vorliegen (\b…\b), also ohne Leerzeichen darin ...
\s             … gefolgt von genau einem Leerzeichen oder TAB
\d{1,4}        … und ein bis vier Ziffern (ohne folgendes Leerzeichen)
/              … und einem Schrägstrich (ohne folgendes Leerzeichen)
\d{1,2}        … und ein bis zwei  Ziffern (ohne folgendes Leerzeichen)
$              Ende des durchsuchten Strings am Ende der aktuellen Zeile

Validierung einer E-Mail-Adresse

^\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b$
^                 Anfang des durchsuchten Strings.
[a-zA-Z0-9._%+-]+ Mindestens ein Zeichen der Zeichenmenge muss vorhanden sein.
@                 Das Zeichen @ folgt zwingend.
[a-zA-Z0-9.-]+    Mindestens ein Zeichen der Zeichenmenge muss vorhanden sein.
\.                Das Zeichen . folgt zwingend.
[a-zA-Z]{2,}      Es müssen mindestens zwei Zeichen der definierten Zeichenmenge folgen.
$                 Ende des durchsuchten Strings am Ende der aktuellen Zeile


Ausschluss von Sonderzeichen (und Ziffern)

^[^+\-/\\(\){}\[\]<>!§$%&=\?\*#€¿&_\"\.,:;0-9]*$
^                 Anfang des durchsuchten Strings.
[^+\-/\\(){}\[\]<>!§$%&=\?\*#€¿&_\".,:;0-9]*
                  Eine beliebige Anzahl von Leer- und Alpha-Zeichen, 
                  die aber keines der (Sonder-) Zeichen in eckigen Klammern enthalten darf:
                  [^;:,] bedeutet z.B.: weder Semikola, Doppelpunkte oder Kommata ...
$                 Ende des durchsuchten Strings am Ende der aktuellen Zeile
^[^+\-/\\(){}\[\]<>!§$%&=?*#€¿&_\".,:;]*$ 

(Gleicher Ausdruck wie oben, nur sind hier auch Ziffern erlaubt)


War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren