Reguläre Posix-Ausdrücke werden verwendet, um Zeichenketten mit Platzhaltern oder Metazeichen abzugleichen oder zu erfassen. Sie werden oft für Textmanipulationsaufgaben verwendet.
Reguläre Ausdrücke sind Textzeichenfolgen, die Zeichen, Zahlen und Platzhalter enthalten. Die folgende Tabelle enthält eine Liste allgemeiner Platzhalter. Beachten Sie, dass diese Platzhalterzeichen auch als eigentliche Zeichen verwendet werden können, wenn ihnen ein umgekehrter Schrägstrich (‘\’) vorangestellt wird. Wenn Sie z. B. www.test.com eingeben, stellen Sie den Punkten einen umgekehrten Schrägstrich voran: www\.test\.com
Bedeutung der Platzhalter
. | Übereinstimmung mit jedem einzelnen Zeichen |
* | Übereinstimmung mit null oder mehr der vorherigen Elemente |
+ | Übereinstimmung mit einem oder mehreren der vorherigen Elemente |
? | Übereinstimmung mit null oder einem der vorherigen Elemente |
() | Inhalt der Klammer als Element merken |
[] | Übereinstimmung mit einem Element in dieser Liste |
– | Einen Bereich in einer Liste erstellen |
| | oder |
^ | Übereinstimmung zum Anfang des Felds |
$ | Übereinstimmung zum Ende des Felds |
\ | Bedeutung der oben genannten Platzhalter aufheben |
Tipps für reguläre Ausdrücke
- Gestalten Sie den regulären Ausdruck so einfach wie möglich. Komplexe Ausdrücke werden langsamer verarbeitet als einfache Ausdrücke.
- Vermeiden Sie wenn möglich die Verwendung von .*, da dieser Ausdruck mit allem übereinstimmt und die Verarbeitung des Ausdrucks verlangsamen kann. Wenn Sie z. B. index.html zuordnen müssen, verwenden Sie index\.html und nicht .*index\.html.*
- Versuchen Sie möglichst, Muster zu gruppieren. Wenn Sie z. B. eine Dateierweiterung wie .gif, .jpg, und .png abgleichen möchten, verwenden Sie \.(gif|jpg|png) anstelle von \.gif|\.jpg|\.png.
- Achten Sie darauf, dass Sie den Platzhaltern bzw. Metazeichen von regulären Ausdrücken einen umgekehrten Schrägstrich voranstellen, wenn Sie die eigentlichen Zeichen abgleichen möchten.
- Verwenden Sie Anker, wenn es möglich ist. Die Ankerzeichen sind ^ und $; sie gleichen den Anfang bzw. das Ende eines Ausdrucks ab. Durch Verwendung dieser Zeichen wird die Verarbeitung beschleunigt. Um beispielsweise das Verzeichnis abc in /abc/xyz abzugleichen, verwenden Sie ^/abc/ anstelle von /abc/. Durch Verwendung von ^ wird erzwungen, dass der Ausdruck am Anfang abgeglichen wird, wodurch sich die Verarbeitungsgeschwindigkeit erhöht.
Praktische Anwendung regulärer Ausdrücke
- Das rename Perl-Script verwendet z.B. als Parameter einen regulären Ausdruck um mehrere Dateien auf einmal umbenennen zu können. So kann man z.b. einfach mit
[CODE]
rename ‘s/pink-cadillac\.de/classic-cadillac\.com/’ *pink-cadillac*
[/CODE]
alle Dateien die ein pink-cadillac.de enthalten so umbenennen, dass diese Zeichenkette durch ein classic-cadillac.com ausgetauscht wird. Natürlich können Sie wesentlich flexiblere reguläre Ausdrücke verwenden, was das rename Script sehr mächtig macht. Verwenden Sie das Flag -n um das Script vorher anzeigen zu lassen, was es tut (dry run). - Ein komplexeres Beispiel für reguläre Ausrücke finden Sie in dem Artikel URLs automatisch verlinken.