en

re.3


Introduction to Library Functions                           RE(3)

NAME
     recomp, reexec, ressub, refree, reerror - regular expression
     library

SYNOPSIS
          #include <re.h>

          Re_program_t* recomp(char* pattern, int flags);
          int reexec(Re_program_t* re, char* source);
          void ressub(Re_program_t* re, Sfio_t* sp, char* old, char* new, int flags);
          void reerror(char* message);
          void refree(Re_program_t* re);

DESCRIPTION
     recomp compiles a regular expression in pattern and  returns
     a  pointer to the compiled regular expression.  The space is
     allocated by malloc(3) and may be released by refree.  Regu-
     lar  expressions are as in egrep(1) except that newlines are
     treated as ordinary characters and $ matches the  end  of  a
     null-terminated  string.   flags  may  be  RE_EDSTYLE  which
     specifies ed(1) style special characters, \(, \), \?, \+ and
     \| for the egrep(1) (, ), ?, + and |, respectively.

     reexec matches the null-terminated source string against the
     compiled  regular  expression  re  from  a  previous call to
     recomp.  If it matches, reexec returns a non-zero value.  If
     flags  is  RE_MATCH  then the array re->match is filled with
     character  pointers  to  the  substrings  of   source   that
     correspond  to  the parenthesized subexpressions of pattern:
     re->match[i].sp points to the beginning and  re->match[i].ep
     points just beyond the end of substring i.  (Subexpression i
     begins at the ith matched left  parenthesis,  counting  from
     1.)   Pointers  in  re->match[0] pick out the substring that
     corresponds to the entire regular expression.   Unused  ele-
     ments of re->match are filled with zeros.  Matches involving
     *, +, and ?  are extended as far as possible.  A maximum  of
     9 subexpressions will be matched.  The structure of elements
     of re->match is:
             typedef struct
             {
             char* sp;
             char* ep;
             } rematch;

     ressub places  in  the  sfio(3)  stream  sp  a  substitution
     instance  of old to new in source in the context of the last
     reexec performed on re->match.  Each instance of where n  is
     a  digit,  is  replaced  by the string delimited by and Each
     instance of  &  is  replaced  by  the  string  delimited  by
     re->match[0].sp  and  re->match[0].ep.   If RE_ALL is set in
     flags then all occurrences of old are replaced by  new.   If
     RE_LOWER [RE_UPPER] is set in flags then old is converted to

SunOS 5.10                Last change:                          1

Introduction to Library Functions                           RE(3)

     lower [upper] case.

     reerror, called whenever an error  is  detected  in  recomp,
     reexec,  or  ressub,  writes  the string msg on the standard
     error file and exits.  reerror may be  replaced  to  perform
     special error processing.

DIAGNOSTICS
     recomp returns 0 for an invalid expression or other failure.
     reexec returns 1 if source is accepted, 0 otherwise.

SEE ALSO
     ed(1), grep(1), expr(1)

SunOS 5.10                Last change:                          2


Generated by GNU enscript 1.6.4.

Tags:
Created by admin on 2009/10/26 12:14
Last modified by admin on 2009/10/26 12:14

Collectives

Project ksh93-integration Pages


XWiki Enterprise 2.7.1.34853 - Documentation