RE_COMP(3) BSD Library Functions Manual RE_COMP(3)
re_comp, re_exec -- regular expression handler
Compatibility Library (libcompat, -lcompat)
re_comp(const char *s);
re_exec(const char *s);
This interface is made obsolete by regex(3). It is available from the compatibility
The re_comp() function compiles a string into an internal form suitable for pattern match-
ing. The re_exec() function checks the argument string against the last string passed to
The re_comp() function returns 0 if the string s was compiled successfully; otherwise a
string containing an error message is returned. If re_comp() is passed 0 or a null string,
it returns without changing the currently compiled regular expression.
The re_exec() function returns 1 if the string s matches the last compiled regular expres-
sion, 0 if the string s failed to match the last compiled regular expression, and -1 if the
compiled regular expression was invalid (indicating an internal error).
The strings passed to both re_comp() and re_exec() may have trailing or embedded newline
characters; they are terminated by NULs. The regular expressions recognized are described
in the manual entry for ed(1), given the above difference.
The re_exec() function returns -1 for an internal error.
The re_comp() function returns one of the following strings if an error occurs:
No previous regular expression,
Regular expression too long,
too many \(\) pairs,
ed(1), egrep(1), ex(1), fgrep(1), grep(1), regex(3)
The re_comp() and re_exec() functions appeared in 4.0BSD.
BSD June 4, 1993 BSD