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.