正则表达式和vba

时间:2012-01-22 19:40:24

标签: regex vba excel-vba excel

有没有人知道如何从RegExp.Execute()函数中提取匹配项?

让我告诉你到目前为止我得到了什么:

Regex.Pattern = "^[^*]*[*]+"
Set myMatches = Regex.Execute(temp)

我希望将持有匹配项的对象“myMatches”转换为字符串。我知道每次执行只会有一场比赛。

有没有人知道如何从对象中提取匹配项,因为要显示的字符串可以通过MsgBox说明?

2 个答案:

答案 0 :(得分:2)

试试这个:

Dim sResult As String

'// Your expression code here...

sResult = myMatches.Item(0)
'// or
sResult = myMatches(0)

Msgbox("The matching text was: " & sResult)

Execute方法返回一个匹配集合,您可以使用item属性使用索引检索文本。

如你所说,你只有一个匹配,那么索引为零。如果您有多个匹配项,则可以返回所需匹配项的索引或循环遍历整个集合。

答案 1 :(得分:0)

这个页面有很多关于正则表达式的信息,似乎有你想要的东西。

http://www.regular-expressions.info/vbscript.html