RE_COMP(3) BSD Programmer's Manual RE_COMP(3)NAME
re_comp, re_exec - regular expression handler
SYNOPSIS
#include <unistd.h>
cc ... -lcompat ...
char *
re_comp(const char *s);
int
re_exec(const char *s);
DESCRIPTION
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 successful-
ly; 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 com-
piled regular expression, 0 if the string s failed to match the last com-
piled 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 ex-
pressions recognized are described in the manual entry for ed(1), given
the above difference.
DIAGNOSTICS
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,
unmatched \(,
missing ],
too many \(\) pairs,
unmatched \).
SEE ALSOed(1), ex(1), egrep(1), fgrep(1), grep(1), regex(3)HISTORY
The re_comp() and re_exec() functions appeared in 4.0BSD. New code should
use regcomp() and regexec() (see regex(3)). Note that re_comp() and
re_exec() use what are considered ``basic'' regular expressions
(REG_BASIC) in the POSIX interface.
BSDI BSD/OS May 25, 1995 1