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>
VBScript入門