Matches コレクション

正規表現の Match オブジェクトのコレクションです。

解説

Matches コレクションには、個別の Match オブジェクトが格納されます。このコレクションは、RegExp オブジェクトの Execute メソッドによってのみ作成可能です。個別の Match オブジェクトのプロパティと同様、Matches コレクションのプロパティは読み取り専用です。

正規表現で検索を実行すると、Match オブジェクトが 0 個以上作成されます。それぞれの Match オブジェクトは、正規表現で検索された文字列、文字列の長さ、および文字列が検索された場所のインデックスにアクセスする手段を提供します。

次のコードは、正規表現の検索で Matches コレクションを取得し、コレクションに対して繰り返し処理を行う例です。

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 & "一致する文字列が見つかった位置は、"
      RetStr = RetStr & Match.FirstIndex & " です。一致した文字列は、"
      RetStr = RetStr & Match.Value & " です。" & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

必要条件

バージョン 5

参照

For Each...Next ステートメント | Match オブジェクト | RegExp オブジェクト | SubMatches コレクション