• ベストアンサー

正規表現で完全一致したキーワードのみ置換したい

例えば、 SLEEP AND ASLEEPの文字列から SLEEPを検索し、.zZに変換したいと思います。 しかし、ASLEEPにはHITして欲しくありません。 正規表現でSLEEPだけマッチングさせるには、 どのような式を与えたら良いでしょうか? そのまま置換に使用したいので、 取得結果としては、オフセット(0,5)が取得できて欲しいです。 正規表現には、POSIXのregexを使用します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

\bSLEEP\b http://www.regular-expressions.info/wordboundaries.html によると、\bが単語の区切りにマッチするとのこと

goopon
質問者

お礼

早速回答ありがとうございます。 こういうのがあるんですね。試してみたいと思います。 ※日本語の場合は難しいでしょうかね?  「眠と睡眠」から「眠」だけを抽出とか。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

日本語は難しいです。 英文みたいな明確な単語区切り(空白とか)が無いですし。 日本語の一文字が正規表現で一文字として対応しているかどうか、もちょっとわかりません。 正確にやろうとしたら、自然言語解析で単語に分解して、各単語毎に調べる、ということになるでしょうか。 解析エンジンの性能次第で全く使いものにならない場合も。

関連するQ&A