3.3 特殊なバックスラッシュ表現
「\」の後ろに特殊文字を置くと、その特殊文字に一致する正規表現になります。「\」の後ろに特定の通常の文字を置くと、特殊な意味を持ちます。
- ‘\b’
単語の境界にある空の文字列に一致します。
- ‘\B’
単語の境界でない位置にある空の文字列に一致します。
- ‘\<’
単語の先頭にある空の文字列に一致します。
- ‘\>’
単語の末尾にある空の文字列に一致します。
- ‘\w’
単語を構成する文字に一致し、「[_[:alnum:]]」と同じ意味です。
- ‘\W’
単語を構成しない文字に一致し、「[^_[:alnum:]]」と同じ意味です。
- ‘\s’
空白文字に一致し、「[[:space:]]」と同じ意味です。
- ‘\S’
空白文字でない文字に一致し、「[^[:space:]]」と同じ意味です。
- ‘\]’
「]」に一致します。
- ‘\}’
「}」に一致します。
たとえば、「\brat\b」は独立した単語「rat」に一致します。「\Brat\B」は「crate」には一致しますが、「furry rat」には一致しません。
エスケープされていないバックスラッシュの後ろに、特殊文字、0以外の数字、または上の一覧にある文字が続かない場合、grepの動作は未規定です。現在はgrepが診断メッセージを表示したり、そのバックスラッシュに何らかの解釈を与えたりする場合があっても、将来正規表現の構文が拡張されると、動作が変わる可能性があります。