regex(3) (BSD Compatibility Package) regex(3)
NAME
regex: recomp, reexec - Bearbeitungsroutine für reguläre Ausdrücke
SYNTAX
/usr/ucb/cc [flag ...] file ... -lucb
#include <recomp.h>
char *recomp(const char *s);
int reexec(const char *s);
BESCHREIBUNG
recomp kompiliert eine Zeichenkette in ein internes Format, das für
einen Mustervergleich geeignet ist. reexec vergleicht die Argument-
zeichenkette mit der letzten Zeichenkette, die an recomp übertragen
wurde.
recomp gibt einen NULL-Zeiger zurück, wenn die Zeichenkette s erfol-
greich kompiliert wurde. Andernfalls wird eine Zeichenkette mit einer
Fehlermeldung zurückgegeben. Wenn an recomp eine 0 oder eine NULL-
Zeichenkette übertragen wird, wird der momentan kompilierte Ausdruck
nicht geändert.
reexec gibt eine 1 zurück, wenn die Zeichenkette s mit dem zuletzt
kompilierten, regulären Ausdruck übereinstimmt, eine 0, wenn die Zei-
chenkette s nicht mit dem zuletzt kompilierten regulären Ausdruck übe-
reinstimmt und -1, wenn der kompilierte reguläre Ausdruck ungültig war
(hierbei wird ein interner Fehler angegeben).
Sowohl an recomp als auch an reexec übergebene Zeichenketten können
nachfolgende oder eingebettete Zeilenvorschubzeichen (NEWLINE) enthal-
ten; sie enden mit NULL-Zeichen. Die regulären Ausdrücke, die erkannt
werden, sind im Online-Handbuch für ed(1) mit den oben genannten
Unterschieden beschrieben.
RÜCKGABEWERT
reexec gibt bei einem internen Fehler -1 zurück.
DIAGNOSE
recomp gibt bei einem Fehler eine der folgenden Zeichenketten zurück:
No previous regular expression
Regular expression too long
unmatched \(
missing ]
too many \(\) pairs
unmatched \)
SIEHE AUCH
ed(1), ex(1), grep(1), regcmp(1), regcomp(3C), regcmp(3G),
regexpr(3G), expressions(5), regex(5), regexp(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98