wildmat - perform shell-style wildcard matching

     wildmat(text, pattern)
         char  *text;
         char  *pattern;

     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 <rsalz@uunet.uu.net> in 1986, and posted  to  Usenet
     several  times  since  then,  most notably in comp.sources.misc in March,

     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.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.