wildmat - perform shell-style wildcard matching
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.
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.
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
Written by Rich $alz <firstname.lastname@example.org> in 1986, and posted to Usenet several times
since then, most notably in comp.sources.misc in March, 1991.
Lars Mathiesen <email@example.com> 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 <firstname.lastname@example.org> added minus sign and close bracket handling in June, 1991.
This is revision 188.8.131.52, dated 2000/08/17.
grep(1), regex(3), regexp(3).