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.
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 03/July/97