正規表現について読んでいるスクリプトでは、次のように書かれています。
'\b'単語の前枠に当たる'\<'単語の先頭に当たる
では、次の使用の違いは何ですか
\b以上\<\b以上\>
\bのよう\<に\>結合されます:
\<単語の先頭に一致し、\>単語の末尾に一致し、\b単語の先頭または末尾に一致し、\B単語の先頭または末尾を除いて一致します。私は私に次のman grepことを教えてくれます\b:
記号
\<と\>はそれぞれ、単語の先頭と末尾の空の文字列に一致します。記号\bは、単語の端にある空の文字列に一致します [...]
したがって、一致する場所は\bfoo\bどこでも\<foo\>一致します。
一方で、非常に多くの正規表現のバリエーションがあり、あなたが何をしているのかわかりにくい\b.
ソースが間違っているか、少なくとも不完全なようです。前面だけでなく、任意の\b境界線に一致します。見積もり:man grep
記号\<と\>はそれぞれ、単語の先頭と末尾の空の文字列に一致します。記号\bは、単語の端にある空の文字列に一致します
grepはと\b同等grepです\(\<\|\>\)Perl の正規表現に慣れている場合は、
grepは Perlの\<ものと同等です(?<!\w)(?=\w)grepは Perlの\>ものと同等です(?<=\w)(?!\w)grepは Perlの\bものと同等です\bgrepは Perlの\bものと同等です(?:(?<!\w)(?=\w)|(?<=\w)(?!\w))