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.