Matching filenames with wildcards. See also System.Path.Glob for
support for generating lists of files based on wildcards.
Inspired by fnmatch.py, part of the Python standard library.
Written by John Goerzen, firstname.lastname@example.org
The input wildcard for functions in this module is expected to be in
the standard style of Posix shells.
? matches exactly one character
\* matches zero or more characters
[list] matches any character in list
[!list] matches any character not in the list
The returned regular expression will always end in $ but never begins
with ^, making it suitable for appending to the end of paths. If you want to
match a given filename directly, you should prepend the ^ character to the
returned value from this function.
- Neither the path separator (the slash or backslash) nor the period carry
any special meaning for the functions in this module. That is, * will
match / in a filename. If this is not the behavior you want, you probably
want System.Path.Glob instead of this module.
- Unlike the Unix shell, filenames that begin with a period are not ignored
by this module. That is, *.txt will match .test.txt.
- This module does not current permit escaping of special characters.