3.3 Special Backslash Expressions

The ‘\’ character followed by a special character is a regular expression that matches the special character. The ‘\’ character, when followed by certain ordinary characters, takes a special meaning:

\b

Match the empty string at the edge of a word.

\B

Match the empty string provided it’s not at the edge of a word.

\<

Match the empty string at the beginning of a word.

\>

Match the empty string at the end of a word.

\w

Match word constituent, it is a synonym for ‘[_[:alnum:]]’.

\W

Match non-word constituent, it is a synonym for ‘[^_[:alnum:]]’.

\s

Match whitespace, it is a synonym for ‘[[:space:]]’.

\S

Match non-whitespace, it is a synonym for ‘[^[:space:]]’.

\]

Match ‘]’.

\}

Match ‘}’.

For example, ‘\brat\b’ matches the separate word ‘rat’, ‘\Brat\B’ matches ‘crate’ but not ‘furry rat’.

The behavior of grep is unspecified if a unescaped backslash is not followed by a special character, a nonzero digit, or a character in the above list. Although grep might issue a diagnostic and/or give the backslash an interpretation now, its behavior may change if the syntax of regular expressions is extended in future versions.