RE_COMP(3C) Standard C Library Functions RE_COMP(3C)


re_comp, re_exec - compile and execute regular expressions


#include <re_comp.h>

char *re_comp(const char *string);

int re_exec(const char *string);


The re_comp() function converts a regular expression string (RE) into an
internal form suitable for pattern matching. The re_exec() function
compares the string pointed to by the string argument with the last
regular expression passed to re_comp().

If re_comp() is called with a null pointer argument, the current regular
expression remains unchanged.

Strings passed to both re_comp() and re_exec() must be terminated by a
null byte, and may include NEWLINE characters.

The re_comp() and re_exec() functions support simple regular expressions,
which are defined on the regexp(7) manual page. The regular expressions
of the form \{m\}, \{m,\}, or \{m,n\} are not supported.


The re_comp() function returns a null pointer when the string pointed to
by the string argument is successfully converted. Otherwise, a pointer
to one of the following error message strings is returned:

No previous regular expression
Regular expression too long
unmatched \(
missing ]
too many \(\) pairs
unmatched \)

Upon successful completion, re_exec() returns 1 if string matches the
last compiled regular expression. Otherwise, re_exec() returns 0 if
string fails to match the last compiled regular expression, and -1 if the
compiled regular expression is invalid (indicating an internal error).


No errors are defined.


For portability to implementations conforming to X/Open standards prior
to SUS, regcomp(3C) and regexec(3C) are preferred to these functions.
See standards(7).


grep(1), regcmp(1), regcmp(3C), regcomp(3C), regexec(3C), regexpr(3GEN),
regexp(7), standards(7)

February 26, 1997 RE_COMP(3C)