Table of Contents
wildmat - perform shell-style wildcard matching
intwildmat(text, pattern) char *text; char *pattern;
Wildmat
is part of libinn(3)
. Wildmat compares the text against the pattern and
returns non-zero if the pattern matches the text. The pattern is interpreted
according to rules similar to shell filename wildcards, and not as a full
regular expression such as those handled by the grep(1)
family of programs
or the regex(3)
or regexp(3)
set of routines.
The pattern is interpreted
as follows:
- \x
- Turns off the special meaning of x and matches it directly;
this is used mostly before a question mark or asterisk, and is not special
inside square brackets.
- ?
- Matches any single character.
- *
- Matches any sequence
of zero or more characters.
- [x...y]
- Matches any single character specified
by the set x...y. A minus sign may be used to indicate a range of characters.
That is, [0-5abc] is a shorthand for [012345abc]. More than one range may
appear inside a character set; [0-9a-zA-Z._] matches almost all of the legal
characters for a host name. The close bracket, ], may be used if it is the
first character in the set. The minus sign, -, may be used if it is either
the first or last character in the set.
- [^x...y]
- This matches any character
not in the set x...y, which is interpreted as described above. For example,
[^]-] matches any character other than a close bracket or minus sign.
Written
by Rich $alz <rsalz@uunet.uu.net> in 1986, and posted to Usenet several times
since then, most notably in comp.sources.misc in March, 1991.
Lars Mathiesen
<thorinn@diku.dk> enhanced the multi-asterisk failure mode in early 1991.
Rich
and Lars increased the efficiency of star patterns and reposted it to comp.sources.misc
in April, 1991.
Robert Elz <kre@munnari.oz.au> added minus sign and close bracket
handling in June, 1991.
This is revision 1.2.6.1, dated 2000/08/17.
grep(1)
,
regex(3)
, regexp(3)
.
Table of Contents