The escape character is a backslash (\). With this you can escape metacharacters to
use them in their plain character form.
In the following examples, literal E and F
denote any expression, whether a pattern or a character:
*Match any string consisting of zero or more characters. The
characters can be any characters apart from slashes (/). However, the asterisk does not match
a string if the string contains a dot (.) as its first character, or if the
string contains a dot immediately after a slash. This means that
the asterisk cannot be used to match filenames that have a dot as
their first character.
If the previous character is a slash (/), or if an asterisk (*) is used to denote a match at the
beginning of a string, it does match a dot (.).
That is, the asterisk (*)
functions as normal in Unix shell fileglobs.
?Match any single character except for a slash (/). However, do not match a dot
(.) if located at the beginning
of the string, or if the previous character is a slash (/).
That is, the question mark (?) functions as normal in Unix shell
fileglobs (at least in ZSH, although discarding the dot may not be
a standard procedure).
**/Match any sequence of characters that is either empty, or
ends in a slash. However, the substring /. is not allowed. This mimics the
**/ construct in ZSH. (Please
note that ** is equivalent to
*.)
E#Act as Kleene star, match E zero or more times.
E##Closure, match E one or
more times.
( Start a capturing
subexpression.
)End a capturing subexpression.
E|FDisjunction, match either E or F (inclusive). E is preferred if both match.
[Start a character set (covered next).