マンページでgrep
私は見る。
The symbols \< and \> respectively match the empty string at the beginning and
end of a word. The symbol \b matches the empty string at the edge of a word.
しかし、私はまだその違いを知りません。私にとっては、\b
Perlの単語境界表記法ですが、\<
Vimの表記法も同じ目的に使用されます。
PS:英語は私の母国語ではありません。違いがはっきり見えたら許してください。
ベストアンサー1
\<
単語の先頭に一致します。
\>
単語の終わりに一致します。
\b
両方の境界が一致します(終了または開始にある場合)。
これらの特殊文字の重要な点は、単語境界自体ではなく空の文字列と一致することです。単語の境界は、Posix表記(文字a〜Z、数字、および)で表される文字セットとは反対です\w
。 [_[:alnum:]]
_
はい
$ echo 'acegi z' | grep -o '[acegi ]*\>' | cat -A
acegi$
$ echo 'acegi z' | grep -o '[acegi ]*\b' | cat -A
acegi $
この例では、単語の境界ではなく単語の終わりを正確に一致させることが有用な場合があることを示しています。単語の末尾を一致させると、一致する空白文字を使用する必要がないためです。
したがって、より便利な例を見てみましょう。単語以外の文字と単語以外の文字の末尾を一致させたい場合は機能しませんが、\>
おそらく\b
この特定の場合は機能します。次の単語の始まり。
これまではどんな例も考えられません。しかし、私の考えにはそれが意味のあるいくつかのユースケースがあるかもしれませんが、私の考えはあいまいに書くときのような読みやすさの目的に過ぎませんが、始めや終わり\b
に正確に単語を提供すると一般的な構文をよりよく理解することができます。読者の表情。