Функция ExecutionRegexp.

Функция ExecutionRegexp представляет собой обертку метода Execute объекта RegExp. Принимает на вход исходную строку и паттерн, возвращая коллекцию найденных совпадений MatchCollection. Элементы коллекции — объекты типа Match, имеют важное свойство Submatches, содержащее подстроки найденной строки, получающиеся при применеии группировки в регулярном выражении.

Примечание: в случае, когда группировка не применяется, удобнее пользоваться функцией FindAll, возвращающей результат в виде массива строк.

Function ExecRegexp(source, pattern)

	Set objRegExp = CreateObject("VBScript.RegExp")
	objRegExp.Pattern = pattern
	objRegExp.Global = True

	Set ExecRegexp = objRegExp.Execute(source)

End Function

Пример:

str = "Andrew@gmail.com Alexander@yandex.ru Robert@mail.ru"

pattern = "([\w-\.]+)@([\w-]+\.)+[\w-]{2,4}"

Set objMatches = ExecRegexp(str, pattern)

For i=0 To objMatches.Count-1
		
	WScript.Echo "Email " & i+1 & ":" & Chr(34) & objMatches.Item(i).Value & Chr(34)
	WScript.Echo " Name " & i+1 & ":" & Chr(34) & objMatches.Item(i).SubMatches(0) & Chr(34) & vbCrLf

Next
Вывод скрипта