ドキュメント を引用させてください 最初:
ドキュメントから、問題の背後にある理由を確認できます。これは、エスケープが原因ではありません。問題は、単語の境界を一致させようとしていることです[[:<:]]
文字列の先頭で、ドキュメントからわかるように単語の境界が単語の文字と非単語の文字を分離しているため機能しませんが、あなたの場合、最初の文字は"
> これは単語の文字ではないため、単語の境界はありません。最後の"
についても同じことが言えます。 および[[:>:]]
。
これを機能させるには、式を少し変更する必要があります:
"[[:<:]]word[[:>:]]"
^^^^^^^ ^^^^^^^
単語の境界が単語以外の文字"
をどのように区切っているかに注目してください 単語文字からw
最初に"
d
から 文字列の最後にあります。
編集: 実際の境界があるかどうかを知らずに、文字列の最初と最後で常に単語の境界を使用する場合は、次の式を使用できます。
([[:<:]]|^)"word"([[:>:]]|$)
これは、文字列の先頭または文字列の先頭の単語境界に一致します^
単語の境界または文字列の終わりについても同じです。照合しようとしているデータを調べて一般的なパターンを探し、正規表現が仕事に適したツールでない場合は正規表現を使用しないことを強くお勧めします。