diff options
Diffstat (limited to 'src/lib/libast/man/strmatch.3')
-rw-r--r-- | src/lib/libast/man/strmatch.3 | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/lib/libast/man/strmatch.3 b/src/lib/libast/man/strmatch.3 new file mode 100644 index 0000000..5f5af89 --- /dev/null +++ b/src/lib/libast/man/strmatch.3 @@ -0,0 +1,101 @@ +.fp 5 CW +.de Af +.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2 +.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" +.. +.de aF +.ie \\$3 .ft \\$1 +.el \{\ +.ds ;G \& +.nr ;G \\n(.f +.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" +\\*(;G +.ft \\n(;G \} +.. +.de L +.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" +.. +.de LR +.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" +.. +.de RL +.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" +.. +.de EX \" start example +.ta 1i 2i 3i 4i 5i 6i +.PP +.RS +.PD 0 +.ft 5 +.nf +.. +.de EE \" end example +.fi +.ft +.PD +.RE +.PP +.. +.TH STRMATCH 3 +.SH NAME +strmatch \- match shell file patterns +.SH SYNOPSIS +.L "int strmatch(char* s, char* p)" +.br +.L "char* submatch(char* s, char* p, int m)" +.SH DESCRIPTION +.I strmatch +compares the string +.I s +with the shell pattern +.I p +and returns 1 for match and 0 otherwise. +.I submatch +does a leading substring match of the shell pattern +.I p +with the string +.IR s . +If +.I m +is 0 then the match is minimal, otherwise a maximal match is done. +A pointer to the first character after the matched substring is returned, +.I 0 +if there is no match. +.PP +Except for +.I & +and +.IR ! , +each shell pattern has an equivalent +.IR egrep (1) +construct. +.EX + \fBsh pattern egrep RE description\fP + * .* 0 or more chars + ? . any single char + [.] [.] char class + [!.] [^.] negated char class + *(.) (.)* 0 or more of + +(.) (.)+ 1 or more of + ?(.) (.)? 0 or 1 of + (.) (.) 1 of + @(.) (.) 1 of + a|b a|b a or b + a&b a and b + !(.) none of +.EE +.L \e +is used to escape *, ?, (, |, &, ), [, and \e +outside of [...]. +.SH "SEE ALSO" +grep(1) +.SH BUGS +An unbalanced +.L ) +terminates the top level pattern. +.br +Nested +.L & +and +.L ! +constructs are non-intuitive and are computationally intensive. |