Reguläre Ausdrücke

Definition

RegEx bieten eine mächtige Sprache zum Vergleich und Ersetzen von Strings.

  • Jeder reguläre Ausdruck besteht aus mehreren Bereichen, die durch einen vertikalen Strich (|) voneinander abgegrenzt werden.
  • Jeder Bereich enthält wiederum eine Auswahl entsprechender Ausdrücke; Sobald einer dieser Bereiche erfüllt ist, wird die Aktion, die an den regulären Ausdruck gekoppelt ist, ausgeführt.
  • Jeder Bereich besteht aus 0 oder mehr Atomen, die jeweils einen beliebigen Modifikator haben können.
  • Jedes Atom birgt Zeichen; Atome können verschiedenen Ausdrücke sein, sind aber meist einfache Zeichen oder Wildcards (.)
  • Maskierung mit \

Grundlegende Elemente

Atom Bedeutung
[] Angabe eines Wertebereichs
[0-9]
\d
Eine Ziffer
[a-z] Kleinbuchstaben
\s Ein Leerzeichen


einfache reguläre Ausdrücke Ausgabe
replace(“xyz”, “x”, “a”) “ayz”
replace(“xyz”, “.”, “a”)“aaa”
replace(“xyz”, “x|z”, “a”)“aya”
replace(“xyz”, “x_|z”, “a”)“xya”
replace(“x_y_z”, “x_'|z”, “a”)“ay_a”


Modifikator Bedeutung
(keiner)Atom muss genau 1 mal auftreten
?Atom muss 0 oder 1 mal auftreten
*Atom muss 0 oder mehr mal auftreten
+Atom muss 1 mal oder mehr mal auftreten
{n}Atom muss genau n mal auftreten
{n,}Atom muss mindestens n mal auftreten
{n,m}Atom muss mindestens n mal und maximal m mal auftreten

Häufig benötigte Reguläre Ausdrücke

Prüfung auf gültige E-Mail-Syntax:

'/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
Symphony Project
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
http://www.regular-expressions.info/email.html
^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$

Prüfung einer Telefonnummer:

  • Geforderte Schreibweise: +49 341 1234 - 567
  • Die Angabe der Durchwahl ist optional. Wird diese jedoch angegeben, dann mit der gezeigten Trennung
  • ^\+[1-9][0-9]{0,2}\s[1-9][0-9]{1,4}\s[0-9]{3,7}(\s\-\s)?[0-9]{0,4}$
  • Erklärung:
    • ^ und $ - umschließen den Ausdruck und fordern exakte Übereinstimmung
    • +[1-9][0-9]{0,2} - Die Nummer beginnt mit einem +, gefolgt von 1-3 Ziffern, wobei die erste keine 0 sein darf.
    • \s es folgt ein Leerzeichen
    • [1-9][0-9]{1,4} - Die Ortsvorwahl besteht aus 2-5 Ziffern, wobei die erste keine 0 sein darf.
    • \s - Es folgt ein Leerzeichen.
    • [0-9]{3,7} - die eigentliche Nummer
    • (\s\-\s)? - ein optionaler Block zum abtrennen der Durchwahl
    • [0-9]{0,4} - die optionale Durchwahl mit max. 4 Ziffern

Kontext

Weiterführende Beiträge


Navigation

Alphabetischer Index
Akronyme