- 正規表現パターンの全体または一部を括弧()で囲むと、その部分が一時バッファに格納される。
- ここでマッチしたら一致した順に保存される。
- バッファ番号があり、1~99まで。
- 各バッファには、'\n' でアクセスできる。例)\1,\2,\10,\99
サンプル
ファイルを1行ずつ読み込んで、正規表現でパターンマッチングする。
マッチしたら、さらに正規表現でサブマッチを行い、サブマッチを表示する
Option Explicit On Error Resume Next '***宣言部*** Dim objFSO ' FileSystemObject Dim objFile ' ファイル読み込み用 Dim objRegExp ' 正規表現オブジェクト Dim Match,Matches Dim strReadLine Dim name '***正規表現処理*** Set objRegExp = New RegExp objRegExp.Pattern = "^NAME\s+([a-zA-Z0-9-]+)" objRegExp.IgnoreCase = True objRegExp.Global = True '***メイン処理*** Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") If Err.Number = 0 Then Set objFile = objFSO.OpenTextFile("meibo.txt") If Err.Number = 0 Then Do While objFile.AtEndOfStream <> True strReadLine = objFile.ReadLine If objRegExp.Test(strReadLine) Then Set Matches = objRegExp.Execute(strReadLine) For Each Match in Matches name = Match.SubMatches(0) WScript.Echo name Next End If Loop objFile.Close Else WScript.Echo "ファイルオープンエラー: " & Err.Description End If Else WScript.Echo "エラー: " & Err.Description End If Set objFile = Nothing Set objFSO = Nothing