wildmat - perform shell-style wildcard matching
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 minus sign.
Written by Rich $alz <email@example.com> in 1986, and posted to Usenet
several times since then, most notably in comp.sources.misc in March,
Lars Mathiesen <firstname.lastname@example.org> 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 <email@example.com> added minus sign and close bracket
handling in June, 1991.
This is revision 1.10, dated 1992/04/03.
grep(1), regex(3), regexp(3).
You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.