public class Wildcard
A Wildcard object is a regex-like matcher, which uses a greatly simplified
syntax, and is useful only for specific application needs. A Wildcard is used
to specify a fuzzy match on file patters, namespace patterns, or other
segmented data. A Wildcard object must be constructed with a separator
character and a pattern, and then data can be fed to it to be matched.
Wildcards only support 3 special symbols, *, **, and ?, and support escaping
of those characters for literals with a backslash. A * symbol matches all
characters across one and only one segment, ** matches all characters across
any number of segments, and ? matches any one character. For instance, if you
have a file path: /home/user/files/file.html, then the separator would be a
"/", and to match this file, you might use the pattern
"/home/user/files/*.htm?" This pattern would also match
/home/user/files/file2.htm, /home/user/files/file3.html, etc, but it would
not match /home/user/files/resources/frame.html, because the last match does
not span segments. However, "/home/user/files/**.htm?" would match.