VBScript: 正規表現による検索(抽出) Execute
正規表現というのは文字列のパターン表記方法で、 一般的に良く使われるワイルドカード「*」という記号も正規表現の1つです。
VBScriptで正規表現による検索(抽出)を行う場合は、 RegExpオブジェクトのExecuteメソッドを使用します。
Executeメソッドの書式は次の通りです。
書式
RegExpオブジェクト.Execute(検索対象)
Executeメソッドを実行する前に、 Patternプロパティで検索パターンを設定しておきます。
RegExpオブジェクト.Pattern = 検索パターン
Executeメソッドの検索結果はMatchオブジェクトのコレクションである Matchesコレクションで返されます。
次のサンプルコードでは正規表現によるExecuteメソッドを使って、 HTMLタグの中から bタグで囲まれた文字列部分を取得しています。
Executeメソッドを実行する前に「Pattern」プロパティ、 「Global」プロパティ、「IgnoreCase」プロパティを設定し、 検索結果のMatchesコレクションはFor Eachループを使って取得しています。
' 検索対象 str = "<div><b>hello</b></div>" ' パターン strPattern = "<b>.*</b>" ' RegExpオブジェクト Set objRe = New RegExp ' パターン objRe.Pattern = strPattern ' 全体を検索 objRe.Global = True ' 大文字小文字を区別しない objRe.IgnoreCase = True ' 検索 Set objMatch = objRe.Execute(str) ' 一致した数 WScript.Echo objMatch.Count ' 検索結果のループ For Each m In objMatch ' 一致した文字列を表示 WScript.Echo m.Value Next
実行結果
1 <b>hello</b>