Zum Inhalt

Modifikationen

Über unterschiedliche Flags kann das Verhalten der Regex Engine verändert werden. Innerhalb von Programmiersprachen oder Regex-Werkzeugen können diese Modifikationen generell außerhalb der Regular Expression angegeben werden. Zusätzlich gibt es jedoch auch die Möglichkeit einer Inline-Angabe.

Wichtige Modifikationen

Modifikation Bedeutung
i Case Insensitive: Groß- und Kleinschreibung wird nicht unterschieden
s Single Line Mode: Die Zeichenklasse . ist so definiert, dass der Zeilenumbruch nicht inkludiert ist (\n), dies wird damit aufgebohen
m Multi Line Mode: Die Anker ^ und $ beziehen sich nicht mehr auf den Start und das Ende der gesamten Zeichenkette, sondern auf den Start und das Ende einer Zeile
x Free-spacing Mode: Weißraum (zB Leerraum, Zeilenumbruch, Tabulator, ...) innerhalb der Regular Expression wird ignoriert, damit kann eine Regular Expression mehrzeilig (erhöhung der Lesbarkeit) erstellt werden

Es gibt sehr viele unterschiedliche Implementierungen von Regex Engines. Regex Engines unterstützen unterschiedliche weitere proprietäre Modifikationen.

Inline Modifikation

Modifikationen können auch innerhalb einer Regular Expression an beliebigen Positionen integriert werden. Dabei wird zum Beispiel die Case Insensitive Modifikation über folgenden Ausdruck aktiviert: (?i). Eine Deaktivierung der Modifikation wird duch einen Bindestrich angegeben. Die Case Insensitive Modifikation wird mit (?-i) deaktiviert.

Die folgende Regular Expression würde die Zeichenketten test, Test, TEst und tEst matchen:

(?i)te(?-i)st

Mit der Inline-Angabe können auch mehrere Modifkationen gleichzeitig aktiviert oder deaktiviert werden. Die Angabe (?is-m) würde Case Insensitive und Single Line Mode aktivieren und Multi Line Mode deaktivieren.