re_comp(3C)
NAME
re_comp, re_exec − compile and execute regular expressions
SYNOPSIS
#include <re_comp.h>
char ∗re_comp(const char ∗string);
int re_exec(const char ∗string);
DESCRIPTION
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(5) manual page. The regular expressions of the form \{m\}, \{m,\}, or \{m,n\} are not supported.
RETURN VALUES
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).
ERRORS
No errors are defined.
USAGE
For portability to implementations conforming to X/Open standards prior to XPG4v2, regcomp(3C) and regexec(3C) are preferred to these functions.
SEE ALSO
grep(1), regcmp(1), regcmp(3C), regcomp(3C), regexec(3C), regexpr(3G), regexp(5), standards(5)
SunOS 5.6 — Last change: 26 Feb 1997