Annotation of researchv10dc/man/adm/man3/regexp.3, revision 1.1

1.1     ! root        1: .TH REGEXP 3
        !             2: .CT 2 data_man
        !             3: .SH NAME
        !             4: regcomp, regexec, regsub, regerror \(mi regular expression
        !             5: .SH SYNOPSIS
        !             6: .nf
        !             7: .B #include <regexp.h>
        !             8: .PP
        !             9: .B regexp *regcomp(exp)
        !            10: .B char *exp;
        !            11: .PP
        !            12: .B int regexec(prog, string, match, msize)
        !            13: .B regexp *prog;
        !            14: .B char *string;
        !            15: .B regsubexp *match;
        !            16: .B int msize;
        !            17: .PP
        !            18: .B void regsub(source, dest, match, msize)
        !            19: .B char *source, *dest;
        !            20: .B regsubexp *match;
        !            21: .B int msize;
        !            22: .PP
        !            23: .B void regerror(msg)
        !            24: .B char *msg;
        !            25: .fi
        !            26: .SH DESCRIPTION
        !            27: .I Regcomp
        !            28: compiles a
        !            29: regular expression and returns
        !            30: a pointer to a compiled regular expression.
        !            31: The space is allocated by
        !            32: .IR malloc (3)
        !            33: and may be released by
        !            34: .I free.
        !            35: Regular expressions are as in
        !            36: .IR re (3)
        !            37: except that newlines are not operators and back-references (with
        !            38: \fB\e\fIn\fR) are not supported.
        !            39: .PP
        !            40: .I Regexec
        !            41: matches a null-terminated
        !            42: .I string
        !            43: against the compiled regular expression in
        !            44: .I prog.
        !            45: If it matches,
        !            46: .I regexec
        !            47: returns a non-zero value and fills in the array
        !            48: .I match
        !            49: with character pointers to the substrings of
        !            50: .I string
        !            51: that correspond to the
        !            52: parenthesized subexpressions of 
        !            53: .IR exp :
        !            54: .BI match[ i ].sp
        !            55: points to the beginning and
        !            56: .BI match[ i ].ep
        !            57: points just beyond
        !            58: the end of the
        !            59: .IR i th
        !            60: substring.
        !            61: (Subexpression
        !            62: .I i
        !            63: begins at the
        !            64: .IR i th
        !            65: left parenthesis, counting from 1.)
        !            66: Pointers in
        !            67: .B match[0]
        !            68: pick out the substring that corresponds to
        !            69: the whole regular expression.
        !            70: Unused elements of
        !            71: .I match
        !            72: are filled with zeros.
        !            73: Matches involving
        !            74: .LR * ,
        !            75: .LR + ,
        !            76: and 
        !            77: .L ?
        !            78: are extended as far as possible.
        !            79: The number of array elements in 
        !            80: .I match
        !            81: is given by
        !            82: .I msize.
        !            83: The structure of elements of
        !            84: .I match 
        !            85: is:
        !            86: .IP
        !            87: .EX
        !            88: typedef struct {
        !            89:        char *sp;
        !            90:        char *ep;
        !            91: } regsubexp;
        !            92: .EE
        !            93: .LP
        !            94: .I Regsub
        !            95: places in
        !            96: .I dest
        !            97: a substitution instance of
        !            98: .I source
        !            99: in the context of the last
        !           100: .I regexec
        !           101: performed using
        !           102: .I match.
        !           103: Each instance of
        !           104: .BI \e n ,
        !           105: where
        !           106: .I n
        !           107: is a digit, is replaced by the
        !           108: string delimited by
        !           109: .BI match[ n ].sp
        !           110: and
        !           111: .BI match[ n ].ep .
        !           112: Each instance of 
        !           113: .L &
        !           114: is replaced by the string delimited by
        !           115: .B match[0].sp
        !           116: and
        !           117: .BR match[0].ep .
        !           118: .LP
        !           119: .I Regerror,
        !           120: called whenever an error is detected in
        !           121: .I regcomp,
        !           122: .I regexec,
        !           123: or
        !           124: .I regsub,
        !           125: writes the string
        !           126: .I msg
        !           127: on the standard error file and exits.
        !           128: .I Regerror
        !           129: can be replaced to perform
        !           130: special error processing.
        !           131: .SH "SEE ALSO"
        !           132: .IR gre (1),
        !           133: .IR re (3), 
        !           134: .IR expr (1)
        !           135: .SH DIAGNOSTICS
        !           136: .I Regcomp
        !           137: returns 
        !           138: .B (regexp *)0
        !           139: for an illegal expression
        !           140: or other failure.
        !           141: .I Regexec
        !           142: returns 0
        !           143: if
        !           144: .I string
        !           145: is not accepted.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.