• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現 Microsoft VBScript Regular Expression 5.5)

正規表現 Microsoft VBScript Regular Expression 5.5の挙動不審

このQ&Aのポイント
  • Microsoft VBScript Regular Expression 5.5を使用していますが、挙動が不審です。
  • 特定のパターンにマッチしない問題や、日本語に対応していない可能性があります。
  • UNICODE依存の文字列の置換は問題なく行えるようですが、VBScriptをVBから使用することに関して、正しい方法かどうか疑問があります。

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

  • ベストアンサー
  • craftsman
  • ベストアンサー率49% (166/336)
回答No.1

Dim REFind As New RegExp  これ、変じゃないですか? Dim REFind As Object Set REFind = New RegExp  Dimでは変数を定義するだけですから、そのあとで定義した変数にRegExpオブジェクトをSetしてやる必要が有ると思いますが? >それとも、そもそもVBScriptとか書いてあるものをVBから使うのが間違い?  RegExpオブジェクトはWindowsが公開しているオブジェクトですから、どの言語から利用しても間違いじゃありませんよ。  なお、RegExpについては、MSのScriptingテクノロジーのページから、Windows Scripting Hostのドキュメントをダウンロードして参照すると、MSDN全体から読み出すよりも簡潔に書かれているので、読みやすいと思います。

参考URL:
http://www.asia.microsoft.com/japan/msdn/scripting/default.asp
haporun
質問者

お礼

回答ありがとうございます。 Dim REFind As Object とすると、実行時バインドが起こるので、オーバーヘッドが起こります。 サンプルでは Dim REFind As RegExp Set REFind = New RegExp としてますが、再確保したり解放したりしない限りは私がやってるのと同じでしょう。 やはりリファレンスには、内部の処理の文字コードなどについては触れてないみたいですね。 他のところでももっと自分で調べてみることにします。

関連するQ&A

専門家に質問してみよう