re_comp
, re_exec
—
regular expression handler
Compatibility Library (libcompat, -lcompat)
#include <unistd.h>
char *
re_comp
(const
char *s);
int
re_exec
(const
char *s);
This interface is made obsolete by
regex(3).
The re_comp
() function compiles a string
into an internal form suitable for pattern matching. The
re_exec
() function checks the argument string
against the last string passed to re_comp
().
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 expression,
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 NUL
s. 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 “no
previous regular expression” or one of the strings generated by
regerror(3).
The re_comp
() and re_exec
()
functions appeared in 4.0BSD.