導入
「cat という単語だけを探したいのに、category や concatenate の一部までヒットしてしまう」――これを防ぐのが 単語境界 \b です。単語(\w の連なり)とそれ以外の 境目 にマッチする、幅のないアンカーです。
説明
\b は「単語文字(\w)と非単語文字の境界」を表します。
パターン: cat 対象: The cat in category → cat と cat(egory) の両方にヒット
パターン: \bcat\b 対象: The cat in category → 独立した "cat" だけにヒット
\bcat\b は「前後が単語の区切りになっている cat」=独立した単語の cat だけを捕まえます。特定の語だけを検索・置換したいときに欠かせません。
パターン: \b\d{3}\b 対象: 12 345 6789 → "345" にマッチ(前後が区切られた3桁の数だけ)
\B はその逆で「単語境界 ではない 位置」を表します。使う機会は少なめですが、\b の対と覚えておきましょう。
やってみよう
\b は「単語のきわ」。語をまるごとで探したいときは \bword\b のように両側を囲む、と覚えておくと検索・置換の精度が上がります。