next | next | up | down | Inhalt | Uebungen | Complete | Kommentar

all, section 5.1.

5.1.  Reguläre Ausdrücke

Der Begriff kommt aus der Automatentheorie: reguläre Sprachen kann man mit endlichen Automaten, also ohne Rekursion, analysieren. Nicht analysieren kann man zum Beispiel ein beliebig tiefes Klammergebirge.

Reguläre Ausdrücke sind Suchmuster, die reguläre Sprachen beschreiben und sehr effizient implementiert werden können.

Die Theorie findet man in Compilerbau von Aho, Sethi und Uhlmann, oder in Compiler Design in C von Holub.

Eine mögliche Implementierung samt Simulation ist re.c, gute public-domain-Quellen stammen von GNU.

Für praktischen Gebrauch gibt es reguläre Ausdrücke in Kommandos:

Shell
verwendet Muster für Dateinamen und in der Kontrollstruktur case. find, und cpio verwenden ebenfalls diese Muster.

Editoren
vi, sed und andere verwenden einfache reguläre Ausdrücke (ohne Alternativen und Klammern) zum Suchen und für Textersatz.

fgrep
fgrep sucht nur nach exakten Texten, die zeilenweise angegeben werden, das aber für viele Texte gleichzeitig sehr schnell.

grep
grep sucht nach den gleichen Ausdrücken wie die Editoren.

egrep
egrep verwendet erweiterte reguläre Ausdrücke -- mit Alternativen und Klammern -- zum Suchen.

awk
awk verwendet die gleichen Ausdrücke wie egrep vor allem als Auswahlkriterium zur Bearbeitung von Textzeilen.

perl
perl verwendet die gleichen Ausdrücke wie egrep vor allem als Auswahlkriterium zur Bearbeitung von Textzeilen.

lex
lex compiliert aus den egrep-Ausdrücken ein C Programm, das dann Eingaben erkennen und verarbeiten kann. lex arbeitet nicht zeilenorientiert.

back | next | up | down | Inhalt | Uebungen | Complete | Kommentar


Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).

Last modified 03/July/97