Um die Verwirrung vollkommen zu machen, gibt es noch zwei Arten von
regulären Ausdrücken, die sich jedoch nur geringfügig voneinander
unterscheiden (meist nur ein paar Backslashes mehr oder weniger),
vergleichbar mit zwei Dialekten derselben Sprache:
-
BRE (Basic Regular Expressions) - Einfache Reguläre Ausdrücke (auch:'ed-style')
-
ERE (Extended Regular Expressions) - Erweiterte Reguläre Ausdrücke(auch: 'egrep-style')
Welches Programm welchen Dialekt versteht, wird meist durch
einen Blick in die entsprechende Dokumentation ersichtlich.
Falls dies nicht weiterhilft, muss man es stattdessen anhand
einfacher Beispiele ausprobieren.
In der GNU-Implementierung regulärer Ausdrücke verstehen
beide Dialekte jeweils alle Sprachelemente des andern - sie
werden lediglich ein wenig anders geschrieben.
Deshalb werden im nächsten Abschnitt auch zunächst keine
Unterschiede gemacht. Es wird jeweils die Schreibweise der
ERE benutzt, da sie in der Regel etwas übersichtlicher ist.
Zum Ausprobieren eignet sich daher egrep ganz gut.
Es gibt jeweils die Zeilen der Standardeingabe wieder aus,
auf die ein Ausdruck passt. Möchte man wissen, welche Zeilen
einer (vorher mit dem Lieblings-Editor erstellten) Datei
passen, verwendet man:
user@linux $
egrep 'MeinRegulärerAusdruck' testdatei1
|
Möchte man eine Zeile testen, ist man mit:
user@linux $
echo 'Meine Testzeile' | egrep 'MeinRegulärerAusdruck'
|
wohl schneller.
Bleibt noch die Möglichkeit:
user@linux $
egrep 'MeinRegulärerAusdruck'
|
aufzurufen. Man kann dann einfach Zeilen eingeben und mit
Enter abschließen. Wenn sie wiederholt ausgegeben wird,
so passt der Ausdruck, sonst nicht. Hat man genug rumgespielt,
kann egrep mit einem beherzten Druck auf Strg+C beendet werden.
Soviel also zum Spiel mit ERE.
Für einen guten Überblick und damit man auch weiß,
wie die jeweiligen Ausdrücke in BRE aussehen,
findet sich am Ende dieses Artikels eine Übersichtstabelle.
Wer alleine damit klar kommt, kann sich freuen.
Für alle anderen folgen ein paar Erläuterungen.
|