Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


RE_COMP(3)                 Library Functions Manual                 RE_COMP(3)

NAME
     re_comp, re_exec - regular expression handler

LIBRARY
     Compatibility Library (libcompat, -lcompat)

SYNOPSIS
     #include <re_comp.h>

     char *
     re_comp(const char *s);

     int
     re_exec(const char *s);

DESCRIPTION
     This interface is made obsolete by regex(3).  It is available from the
     compatibility library, libcompat.

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

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

RETURN VALUES
     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 ALSO
     ed(1), egrep(1), ex(1), fgrep(1), grep(1), regex(3), re_format(7)

HISTORY
     The re_comp() and re_exec() functions appeared in 4.0BSD.

NetBSD 10.99                     June 4, 1993                     NetBSD 10.99