diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
| commit | 711594636704defae873be1a355a292505585afd (patch) | |
| tree | 59ee13f863830d8beba6cfd02bbe813dd486c26f /static/v10/man3/regexp.3 | |
| parent | 3258a063c1f189d7b019e40e525b46bef9b9a7b1 (diff) | |
docs: Added UNIX V10 Manuals
Diffstat (limited to 'static/v10/man3/regexp.3')
| -rw-r--r-- | static/v10/man3/regexp.3 | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/static/v10/man3/regexp.3 b/static/v10/man3/regexp.3 new file mode 100644 index 00000000..4796e706 --- /dev/null +++ b/static/v10/man3/regexp.3 @@ -0,0 +1,145 @@ +.TH REGEXP 3 +.CT 2 data_man +.SH NAME +regcomp, regexec, regsub, regerror \(mi regular expression +.SH SYNOPSIS +.nf +.B #include <regexp.h> +.PP +.B regexp *regcomp(exp) +.B char *exp; +.PP +.B int regexec(prog, string, match, msize) +.B regexp *prog; +.B char *string; +.B regsubexp *match; +.B int msize; +.PP +.B void regsub(source, dest, match, msize) +.B char *source, *dest; +.B regsubexp *match; +.B int msize; +.PP +.B void regerror(msg) +.B char *msg; +.fi +.SH DESCRIPTION +.I Regcomp +compiles a +regular expression and returns +a pointer to a compiled regular expression. +The space is allocated by +.IR malloc (3) +and may be released by +.I free. +Regular expressions are as in +.IR re (3) +except that newlines are not operators and back-references (with +\fB\e\fIn\fR) are not supported. +.PP +.I Regexec +matches a null-terminated +.I string +against the compiled regular expression in +.I prog. +If it matches, +.I regexec +returns a non-zero value and fills in the array +.I match +with character pointers to the substrings of +.I string +that correspond to the +parenthesized subexpressions of +.IR exp : +.BI match[ i ].sp +points to the beginning and +.BI match[ i ].ep +points just beyond +the end of the +.IR i th +substring. +(Subexpression +.I i +begins at the +.IR i th +left parenthesis, counting from 1.) +Pointers in +.B match[0] +pick out the substring that corresponds to +the whole regular expression. +Unused elements of +.I match +are filled with zeros. +Matches involving +.LR * , +.LR + , +and +.L ? +are extended as far as possible. +The number of array elements in +.I match +is given by +.I msize. +The structure of elements of +.I match +is: +.IP +.EX +typedef struct { + char *sp; + char *ep; +} regsubexp; +.EE +.LP +.I Regsub +places in +.I dest +a substitution instance of +.I source +in the context of the last +.I regexec +performed using +.I match. +Each instance of +.BI \e n , +where +.I n +is a digit, is replaced by the +string delimited by +.BI match[ n ].sp +and +.BI match[ n ].ep . +Each instance of +.L & +is replaced by the string delimited by +.B match[0].sp +and +.BR match[0].ep . +.LP +.I Regerror, +called whenever an error is detected in +.I regcomp, +.I regexec, +or +.I regsub, +writes the string +.I msg +on the standard error file and exits. +.I Regerror +can be replaced to perform +special error processing. +.SH "SEE ALSO" +.IR gre (1), +.IR re (3), +.IR expr (1) +.SH DIAGNOSTICS +.I Regcomp +returns +.B (regexp *)0 +for an illegal expression +or other failure. +.I Regexec +returns 0 +if +.I string +is not accepted. |
