スクリプトのReplaceメソッドでグループ化した正規表現にマッチしたテキストを置換したテキストに使う

タイトルながい。


適当なコード


re = "\d(.*)\d" //適当な正規表現
str = "012ABC345"
str.Replace( re, "$1" )

結果 str = "ABC"


"$1"が正規表現中の()でグループ化したものに置き換わる。


JavaScriptであれば、Replaceメソッドから抜けてもRegExp.$1で取得できる。
VBScriptでは不可能。


Replace以外でグループにマッチしたテキストを用いる場合、JavaScriptであればRegExpクラスの$nプロパティで取得できるのは前述のとおり。
VBScriptの場合は、ExecuteしてMatchesコレクションからMatchオブジェクトを取得して、それのsubmatchesコレクションから取得するしかないと思われ。


くわしくは上の記事か下記ページ参照
VBScript のオブジェクトとコレクション