Regex-Modifikatoren

(Auszug aus "Reguläre Ausdrücke" von Jeffrey E. F. Friedl)

Bei den Regex-Operatoren von Perl können nach dem letzten Begrenzungszeichen Regex-Modifikatoren angegeben werden (z.B. i bei m/.../i, s/.../.../i oder qr/.../i). In der folgenden Tabelle sind die fünf allgemeinen Modifikatoren aufgeführt, die bei allen Regex-Operatoren unterstützt werden.

Tabelle: Allgemeine, bei allen Regex-Operatoren unterstützte Modifikatoren.

Modifikator Beschreibung
/i siehe Der Modus »Groß- und Kleinschreibung ignorieren« Groß- und Kleinschreibung beim Matching ignorieren
/x siehe Der Modus »Freie Form« Modus »Freie Form«, Kommentare
/s siehe Der Modus »Punkt passt auf alles« »Punkt passt auf alles«
/m siehe Der Modus »Verbesserte Zeilenanker« oder Mehrzeilenmodus Verbesserter Anker-Modus, Mehrzeilenmodus
/o siehe Regex-Kompilierung, der /o-Modifikator, qr/.../ und Effizienz Regex nur einmal kompilieren

Die ersten vier davon wurden schon unter Features und Dialekte beschrieben. Diese Modifikatoren können auch innerhalb der Regex mit (?Modifikator) (siehe Modus-Modifikatoren) oder nur für einen Unterausdruck mit (?Modifikator:...) (siehe Modus-Modifikatoren mit Klammerung) angegeben werden. Wenn die Modifikatoren an beiden Orten, sowohl als Teil des Operators als auch innerhalb der Regex, angegeben werden, dann gilt der Modifikator in der Regex.

Der fünfte allgemeine Modifikator, /o, hat vor allem Auswirkungen auf die Effizienz eines regulären Ausdrucks. Er wird später in diesem Kapitel gesondert behandelt (siehe Regex-Kompilierung, der /o-Modifikator, qr/.../ und Effizienz).

Mehrere Modifikatoren können zusammengeschrieben nach dem schließenden Begrenzer angegeben werden, die Reihenfolge spielt dabei keine Rolle. (Anmerkung: Weil Modifikatoren in beliebiger Reihenfolge auftreten können, wird viel wertvolle Programmierzeit dafür verschwendet, diese auf besonders neckische Art zu gruppieren. Zum Beispiel ist heute/kein/smog korrektes Perl (wenn wir davon ausgehen, dass eine Funktion namens heute existiert). Die Modifikatoren des Match-Operators können außerdem wiederholt werden, ohne dass sich die Bedeutung ändert.) Der Schrägstrich gehört nicht zum Modifikator, man kann statt m/<title>/i auch m|<title>|i, m{<title>}i oder auch m<<title>>i schreiben. Es ist allerdings üblich, vom »/i-Modifikator« zu sprechen, auch wenn klar ist, dass der Schrägstrich nicht zum Modifikator gehört.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Reguläre Ausdrücke bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:
   

Copyright der deutschen Ausgabe © 2008 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Reguläre Ausdrücke" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln