正则表达式仅匹配第一个匹配

时间:2013-05-28 09:38:18

标签: regex vba ms-access ms-access-2010

我正在尝试使用正则表达式来查找字符串中的重复模式。我在测试仪中测试了我的RegExp,我认为我的正则表达式没问题,但我的代码只返回第一个匹配(0.0000000000000000),而不是其他匹配:

这是我的代码:

Dim searchstr As String
Dim regexp As Object
Dim colregmatch As MatchCollection

searchstr = "ST/X   0.0000000000000000   6.4000000000000004   12.8000000000000010   19.1999999999999990   25.6000000000000010   32.0000000000000000"
Set regexp = CreateObject("vbscript.regexp")
With regexp
        .Pattern = "([0-9]+\.[0-9]+)\s*"
        .IgnoreCase = True
        .Global = True
        .MultiLine = True
        .Global = False
End With
Set colregmatch = regexp.Execute(searchstr)
If colregmatch.Count <> 0 Then
        For Each Match In colregmatch
           MsgBox Match
        Next Match
End If

请你帮我解决这个问题吗? 非常感谢

1 个答案:

答案 0 :(得分:2)

您已将Global标志设置为first true,然后设置为false。

    .Global = True
    .MultiLine = True
    .Global = False

尝试删除最后一个。