The escape character is a backslash (\). You can use it to 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:
( Start a capturing
subexpression.
) End a capturing
subexpression.
E|FDisjunction, match either E or F (inclusive). E is preferred if both match.
E*Act as Kleene star, match E zero or more times.
E+Closure, match E one or
more times.
E?Option, match E
optionally once.
. Match any character except
for newline characters (\n, \f, \r) and
the NULL byte.
E{
n }Match E exactly
n times.
E{
n ,}
or E{
n ,0}Match E
n or more times.
E{,
n } or
E{0, n
}Match E at most
n times.
E{
n ,
m }Match E no less than
n times and no more than
m times.
[ Start a character set. See
"Character Sets for Egrep and
ZSH_FILEGLOB.”
$ Match the empty string at the
end of the input or at the end of a line.
^ Match the empty string at the
start of the input or at the beginning of a line.
The following list describes the tokens:
\0
n ..
nThe literal byte with octal value
n ..
n.
\0The NULL byte.
\[1-9]..
xThe literal byte with decimal value [1-9]..
x.
\x
n ..
n or\0x n
..
nThe literal byte with hexadecimal value
n ..
n.
\<Match the empty string at the beginning of a word.
\>Match the empty string at the end of a word.
\bMatch the empty string at a word boundary.
\BMatch the empty string provided it is not at a word boundary.
\wMatch a word-constituent character, equivalent to [a:zA:Z0:9-].
\WMatch a non-word-constituent character.
\aLiteral alarm character.
\eLiteral escape character.
\fLiteral line feed.
\nLiteral newline, equivalent to C’s \n so that it can be more than one
character long.
\rLiteral carriage return.
\tLiteral tab.
All other escaped characters denote the literal character itself.