5.5. Modifikatoren
Modifikatoren sind dazu da, das Verhalten von regulären Ausdrücken zu verändern.
Es gibt viele Wege, die weiter unten beschriebenen Modifikatoren zu nutzen. Jeder der Modifikatoren kann im Suchmuster über das Konstrukt (?...) eingebettet werden.
i
Führe die Suche Schreibweisen-unabhägig durch (allerdings abhängig von den Einstellungen im System, Lokale Einstellungen). Diese Option ist standardmäßig aus.
m
Behandle den Zielstring als mehrzeiligen String. Das bedeutet, ändere die Bedeutungen von ^ und $: Statt nur den Anfang oder das Ende des Zielstrings zu finden, wird jeder Zeilenseparator innerhalb eines Strings erkannt (beachte auch die Zeilenseparatoren). Diese Option ist standardmäßig an.
s
Behandlt den Zielstring als einzelne Zeile. Das bedeutet, dass . jedes beliebige Zeichen findet, sogar Zeilenseparatoren, die es normalerweise nicht findet. Diese Option ist standardmäßig an.
g
Modifikator für den "Genügsam"-Modus. Durch das Ausstellen werden alle folgenden Operatoren in den "Genugsam"-Modus. Wenn also der Modifikator /g aus ist, dann arbeitet + wie +?, * als *? etc. Diese Option ist standardmäßig an.
x
Erweitert die Lesbarkeit des Suchmusters durch Whitespace und Kommentare (beachten Sie die Erklärung unten). Diese Option ist standardmäßig aus.
r
Modifikator. Falls er gesetzt ist, beinhaltet die Zeichenklasse à-ÿ zusätzliche russissche Buchstaben '¸', À-ß beinhaltet zusätzlich '¨', und à-ß beinhaltet alle russischen Symbole. Diese Option ist standardmäßig an.
Der Modifikator /x selbst braucht etwas mehr Erklärung. Alle Whitespaces werden ignoriert, sofern sie nicht escaped oder innerhalb einer Zeichenklasse ist. Er kann verwendet werden, um den regulären Ausdruck in kleinere, besser lesbare Teile zu zerlegen. Das Zeichen # wird nun ebenfalls als Metazeichen behandelt und leitet einen Kommentar bis zum Zeilenende ein. Beispiel:
Quelltext-Beispiel:
1
2
3
4
5
2
3
4
5
(
(abc) # Kommentar 1
| # Es können Leerzeichen und Zeilenumbrüche zur Formatierung benutzt werden
(efg) # Kommentar 2
)
(abc) # Kommentar 1
| # Es können Leerzeichen und Zeilenumbrüche zur Formatierung benutzt werden
(efg) # Kommentar 2
)
Dies bedeutet auch, wenn echte Whitespaces oder das Zeichen # im Suchmuster verwendet werden sollen (ausserhalb einer Zeichenklasse, wo sie unbehelligt von /x sind), dann muss der entweder escaped oder mit der hexadezimalen Schreibweise angegeben werden. Beides zusammen sorgt dafür, dass reguläre Ausdrücke besser lesbar werden.