- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2008 正規表現 うまくいきません [ ]?)
VB2008正規表現の検索方法について
このQ&Aのポイント
- VB2008にてプログラムを組んでいますが、RichTextBoxに英文を流し込んでいる際に正規表現の検索がうまくいきません。
- 具体的には、英単語を検索してハイライトするプログラムを組んでいるのですが、正規表現の表現方法が悪く、意図した結果が得られません。
- 例えば、RichTextBoxに含まれる英文に対して特定の単語を検索する際、正規表現を使っているのですが、意図しない結果が返ってきます。正規表現をどのように訂正すればよいか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
have と haves, have-had-had とは品詞が違うんじゃないでしょうか。 いっぺんに全部を検出しようとするのには向かない例だと思います。 単に単語 have を抽出したいなら \bhave\b が使えますが。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10359)
回答No.2
>上記英文に対して、下記のような正規表現で検索しているのですが、 >[ -]?have[ s,-]? >"have s"がヒットしてしまいます。 これはあり得ません。勘違いだと思います。" have " がヒットします。 単語境界を認識したいのなら、No1の方の回答のように\bを使うのが普通です。単語の前後が[ ,-]だけに限定したいので無ければ。 \bだと英数字以外のすべてとの間の「隙間」が該当します。 \bhaves?\b でいいのじゃないでしょうか。