33.15.1. Wildcard Syntax

*

Matches any zero or more characters.

?

Matches any one character.

[string]

Matches exactly one character that is a member of
the STRINGstring.
This is called a “character class”.
As a shorthand, string may contain ranges, which consist of two
characters with a dash between them.
For example, the class [a-z0-9_]
matches a lowercase letter, a number, or an underscore.
You can negate a class by placing a #\!
or #\^ immediately after the opening bracket.
Thus, [^A-Z@] matches any character
except an uppercase letter or an at sign.

\

Removes the special meaning of the character that
follows it. This works even in character classes.

Note

Slash characters have no special significance in the
wildcard matching, unlike in the shell (/bin/sh),
in which wildcards do not match them.
Therefore, a pattern foo*bar
can match a file name foo3/bar,
and a pattern ./sr*sc
can match a file name ./src/misc.