8

我在 VBA (WORD) 中的正则表达式匹配只给出一个结果。

我创建了这个功能

Function RE6(strData As String) As String

    Dim RE As Object, REMatches As Object
    Set RE = CreateObject("vbscript.regexp")
    With RE
        .MultiLine = False
        .Global = False
        .IgnoreCase = True
        .Pattern = "\[substep [a-zA-Z]\](.*?); {1}"
    End With

    Set REMatches = RE.Execute(strData)

    RE6 = ""


End Function

这里的问题是它只给出第一个结果。例如我得到一个字符串:

[step 1] title for substeps;  [substep a] step a; [substep b] step b; [substep c] step c; 

我的结果是:

【子步骤a】步骤a;

只有 1 个匹配,而不是步骤 b 和 c。

4

1 回答 1

12

您需要将 Global 设置为 True

http://msdn.microsoft.com/en-us/library/tdte5kwf%28v=vs.84%29

于 2012-09-06T13:29:35.737 回答