xref: /original-bsd/lib/libcompat/4.3/re_comp.3 (revision 6386612b)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)re_comp.3 6.1 (Berkeley) 05/15/85

REGEX 3 ""
C
NAME
re_comp, re_exec - regular expression handler
SYNOPSIS
char *re_comp(s)

char *s;

re_exec(s)

char *s;

DESCRIPTION
Re_comp compiles a string into an internal form suitable for pattern matching. Re_exec checks the argument string against the last string passed to re_comp.

Re_comp 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.

Re_exec 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 nulls. The regular expressions recognized are described in the manual entry for ed (1), given the above difference.

"SEE ALSO"
ed(1), ex(1), egrep(1), fgrep(1), grep(1)
DIAGNOSTICS
Re_exec returns -1 for an internal error.

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).