VBS RegExp-Matchオブジェクト

MATCHオブジェクトは正規表現/REGEXPの検索で一致した内容を参照するためのオブジェクトです。このオブジェクトはRegExpのEXECUTEメソッドの実行結果を受け取ると一致した個数のオブジェクトを作成します。REGEXPの検索結果の値にアクセスするためのオブジェクトです。一致した情報へアクセスするにはobjMatch(0)、objMatch(1)のようにオブジェクトへ添え字を指定して取得します。

<定義>
Set objMatch = RegExp.Execute(検索文字)

<プロパティ>
・FirstIndex
 検索文字の一致した位置を返します。
・Length
 検索文字の一致した位置列の長さを返します。
・Value
  検索文字の一致した内容を返します。

<サンプルソース>
'**********検索情報************
Const conPattern  = "\[開始\].*\[終了\]"
Const conTarget   = "---[開始]200901010....0001[終了]---"
'******************************

Dim objRegExp
Dim objMatch

Set objRegExp        = New RegExp
objRegExp.Pattern    = conPattern
Set objMatch         = objRegExp.Execute(conTarget)

'取得値表示
ec "[検索文字]" & conPattern
ec "[検索情報]" & conTarget

With objMatch(0)
    ec "[FirstIndex]" & .FirstIndex
    ec "[Length]" & .Length
    ec "[Value]" & .Value
End With

'メッセージ表示用
Sub ec(msg)
    Wscript.Echo "[" & Date & " " & time & "]" & msg
End Sub

'結果

'[2009/01/11 13:57:36][検索文字]\[開始\].*\[終了\]
'[2009/01/11 13:57:36][検索情報]---[開始]200901010....0001[終了]---
'[2009/01/11 13:57:36][FirstIndex]3
'[2009/01/11 13:57:36][Length]25
'[2009/01/11 13:57:36][Value][開始]200901010....0001[終了]

<その他参考情報>

正規表現の検索
正規表現で使用するメタ文字