【发布时间】:2021-10-21 12:45:33
【问题描述】:
我正在尝试使用正则表达式来查找特定的子字符串及其之后的所有内容,直到下一行。例如:
These are numbers: one, two, three
These are colors: yellow, blue, green
我想查找字符串“数字:一、二、三”,我使用了以下模式:
Public Sub TEST()
Set regex = CreateObject("VBScript.RegExp")
regex.Global = True
For Each Match In findRegEx(ActiveDocument.Range, "numbers: .*")
Debug.Print Match.Value
Next
End Sub
我发现的“通配符”元字符的每一个解释都让我相信它会为换行符定位每个字符除了,但是这种模式也返回第二行而不是第一行。我不确定我是否误解了 Word 中通配符或换行符的性质。
【问题讨论】:
-
请包含您用于运行此正则表达式的代码,而不仅仅是正则表达式本身。
-
也许你的正则表达式使用
numbers: .*\r? -
我试过
\r,也没用。 -
行尾究竟是回车还是别的什么?
-
这是个问题,我不知道行尾的确切含义。我试过
\r、\n、vbCr、vbNewline和Chr(13),都没有产生预期的结果。
标签: regex vba ms-word newline wildcard