summaryrefslogtreecommitdiff
path: root/src/lib/libast/man/strmatch.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libast/man/strmatch.3')
-rw-r--r--src/lib/libast/man/strmatch.3101
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.