Regular Expressions: Syntax enträtselt

Anker

Anker beschreiben, wo das Muster erkannt werden soll (Tabelle C). Sie sind recht nützlich, wenn man nach gemeinsamen Zeichenkombinationen sucht. Für einige der folgenden Beispiele habe ich den vi-Kommandozeilenbefehl s benutzt, der für substitute (ersetze) steht. Die allgemeine Syntax für diesen Befehl ist s/ Suchmuster / Ersetzungstext /.

Operator Beschreibung Beispiel Ergebnis
^ Passt auf den Anfang einer Zeile S/^/blah / Fügt „blah “ am Anfang der Zeile ein
$ Passt auf das Ende einer Zeile S/$/ blah/ Fügt “ blah“ am Ende der Zeile ein
< Erkennt den Anfang eines Wortes S/</blah/ Fügt „blah“ am Anfang des Wortes ein
    egrep „<blah“ sample.txt Erkennt „blahfield“ etc.
> Erkennt das Ende eines Wortes S/>/blah/ Fügt „blah“ am Ende des Wortes ein
    egrep „>blah“ sample.txt Erkennt „soupblah“ etc.
b Passt am Anfang oder Ende eines Wortes egrep „bblah“ sample.txt Erkennt „blahcake“ und „countblah“
B Passt in der Mitte eines Wortes egrep „Bblah“ sample.txt Erkennt „sublahper“ etc.

Tabelle C: Regular Expressions – Anker

Alternation

Ein weiteres nützliches Element Regular Expressions ist der Alternations- oder Einfüge-Operator. Im Wesentlichen ist dieser Operator äquivalent zu einem Exklusiv-Oder und wird durch das Zeichen | dargestellt. Der folgende Ausdruck findet alle Vorkommen der Wörter „nerd“ und


"merd" in der Datei sample.txt:
egrep "(n|m)erd" sample.txt

Die Alternation kann ein mächtiges Werkzeug sein, wenn man nach unterschiedlichen Schreibweisen in einer Datei sucht, aber denselben Effekt kann man auch so erreichen:


egrep "[nm]erd" sample.txt

Der wahre Nutzen der Alternation kommt erst in Verbindung mit einigen der eher fortgeschritteneren Funktionen von Regular Expressions zum Tragen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Regular Expressions: Syntax enträtselt

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *