News Ticker

Reguläre Ausdrücke 1: Einführung & normale Zeichen

Die Unix-Tools die bis jetzt beschrieben worden sind, arbeiten zum größten Teil ohne reguläre Ausdrücke (einige implementieren auch die Möglichkeit). Es gibt jedoch viele Tools, die ohne Kenntnisse über reguläre Ausdrücke nur sehr eingeschränkt funktionieren. Einige solcher Tools sind grep, sed und die üblichen Editoren wie vi/vim und emacs oder die Scriptsprache perl. Der Plan ist also die Grundlagen regulärer Ausdrücke zu beschreiben, damit die richtige Macht der Shell und der langen Kommandos erkennbar wird.


Reguläre Ausdrücke sind im Grunde genommen recht einfach zu erlernen. Das schwierige ist das Zusammensetzen des Gelernten. In dieser kleinen Artikelreihe sollen 11 einfache Regeln vorgestellt werden. Aber zuerst sollte die Definition sitzen. Reguläre Ausdrücke sind Suchbegriffe. Man kann dafür bestimmte Spezialzeichen verwenden, die auf einen Text passen müssen.

Regel 1
Besondere Zeichen sind: . ? * + { } [ ] ( ) | \ ^ und $. Wenn diese Zeichen in einem regulären Ausdruck auftauchen, haben sie eine spezielle Bedeutung. Alle anderen Zeichen haben keine besondere Bedeutung und stehen sozusagen für sich selbst. Klingt etwas verwirrend, deswegen einige Beispiele:

logfile passt auf logfile, jedoch nicht auf LogFile, da in UNIX/Linux normalerweise zwischen Groß- und Kleinschreibung unterschieden wird – wie auch hier. -:# passt auf @-:#:!, aber nicht auf #:-. Das heißt, dass reguläre Ausdrücke nicht auf ein ganzes Wort passen müssen; sie können auch nur ein Teil eines Textstrings „matchen“.

Da Lernen ohne Ausprobieren oder Nutzen in der Praxis keinen Spaß macht, hier noch ein paar praktische Tipps zum Ausprobieren:

Wie oben schon erwähnt, unterstützt z.B. grep reguläre Ausdrücke. Man kann also Text in eine Datei schreiben und diese dann „grepen“:

1
2
3
4
5
tcr@triton ~ $ echo "Testtext" > test.txt
tcr@triton ~ $ grep test test.txt
tcr@triton ~ $ grep Test test.txt
Testtext
tcr@triton ~ $

Wer weder UNIX/Linux noch cygwin für Windows zur Verfügung hat, kann z.B. auf www.regex-tester.de seine Ausdrücke testen. Im oberen Fenster wird der Text eingegeben, darunter der reguläre Ausdruck. Darunter muss noch „Treffer anzeigen“ abgehakt werden und mit einem Klick auf „REGEX TESTEN“ wird losgelegt. Da erst eine Regel erklärt wurde, sind die regulären Ausdrücke noch langweilig; es kann nur spannender werden. Nächsten Dienstag geht's richtig los. Sucht euch also ein Programm oder eine Seite mit dem/der ihr zufrieden seid und mit der ihr gut üben könnt.

PS: Regex und Regexp sind Abkürzungen für regular expressions (dt. reguläre Ausdrücke) und bedeuten also genau das gleiche.

1 Kommentar zu Reguläre Ausdrücke 1: Einführung & normale Zeichen

  1. Schöner Beitrag.
    Habe vor kurzer Zeit unter http://www.itblogging.de/linux/regulare-ausdrucke/ ebenfalls über die Regulären Ausdrücke gebloggt. Ich finde das grep Werkzeug ist heutzutage nicht mehr wegzudenken im Linuxsystem. Damit umzugehen spart dem Anwender oft eine Menge Zeit und Nerven.

    Weiter so!

Kommentare sind deaktiviert.