Match オブジェクト
正規表現で一致した文字列の読み取り専用プロパティにアクセスする手段を提供します。
解説
Match オブジェクトは、RegExp オブジェクトの Execute メソッドによってのみ作成が可能です。このメソッドが実際に返すのは、Match オブジェクトのコレクションです。Match オブジェクトのプロパティは、すべて読み取り専用です。
正規表現で検索を実行すると、Match オブジェクトが 0 個以上作成されます。それぞれの Match オブジェクトは、正規表現で検索された文字列、文字列の長さ、および文字列が検索された場所のインデックスにアクセスする手段を提供します。
次のコードは、Match オブジェクトの使用例です。
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ' 変数を作成します。
Set regEx = New RegExp ' 正規表現を作成します。
regEx.Pattern = patrn ' パターンを設定します。
regEx.IgnoreCase = True ' 大文字と小文字を区別しないように設定します。
regEx.Global = True ' 文字列全体を検索するように設定します。
Set Matches = regEx.Execute(strng) ' 検索を実行します。
For Each Match in Matches ' Matches コレクションに対して繰り返し処理を行います。
RetStr = RetStr & "一致 " & I & " が、"
RetStr = RetStr & Match.FirstIndex & " で見つかりました。一致した文字列は、"
RetStr = RetStr & Match.Value & " です。" & vbCRLF
Next
RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))