4BSD/usr/man/man3/regex.3

Compare this file to the similar file:
Show the results in this format:

.TH REGEX 3 2/29/80
.UC
.SH NAME
re_comp, re_exec \- regular expression handler
.SH SYNOPSIS
.nf
.B char *re_comp(s)
.B char *s;
.PP
.B re_exec(s)
.B char *s;
.fi
.SH DESCRIPTION
.I Re_comp
compiles a string into an internal form suitable for 
pattern matching. 
.I Re_exec 
checks the argument string against the last string passed to
.I re_comp.
.PP
.I Re_comp
returns 0 if the string
.I s
was compiled successfully; otherwise a string containing an
error message is returned. If 
.I re_comp
is passed 0 or a null string, it returns without changing the currently
compiled regular expression.
.PP
.I Re_exec
returns 1 if the string
.I s
matches the last compiled regular expression, 0 if the string
.I s
failed to match the last compiled regular expression, and
-1 if the compiled regular expression was invalid (indicating an
internal error).
.PP
The strings passed to both
.I re_comp
and
.I re_exec
may have trailing or embedded newline characters; 
they are terminated by nulls.
The regular expressions recognized are described in the manual entry
for 
.I ed
(1), given the above difference.
.SH "SEE ALSO"
ed(1), ex(1)
.SH DIAGNOSTICS
.I Re_exec
returns -1 for an internal error.
.PP
.I Re_comp
returns one of the following strings if an error occurs:
"No previous regular expression",
"Regular expression too long",
"unmatched \e(",
"missing ]",
"too many \e(\e) pairs",
"unmatched \e)".