【发布时间】:2017-02-06 22:14:32
【问题描述】:
我正在尝试使用 Outlook 2013 VBA 通过拉出并替换 部分来修改电子邮件正文。但是,对于多个跨度,我无法强制正则表达式只选择一个跨度。
基于其他一些搜索,我正在尝试使用否定前瞻,但失败了。
下面的结果是:<span><span style = blah blah>Tags: test, test2</span>
想要的结果是:<span style = blah blah>Tags: test, test2</span>
测试模块代码:
Sub regextest()
Dim regex As New RegExp
Dim testStr As String
testStr = "a<span><span style=blah blah>Tags: test, test2</span></span>"
regex.pattern = "<span.*?(?:(span)).*?Tags:.*?</span>"
Set matches = regex.Execute(testStr)
For Each x In matches
Debug.Print x 'Result: <span><span style = blah blah>Tags: test, test2</span>
Next
End Sub
谢谢!
【问题讨论】:
-
维克托——谢谢。我会在早上试一试。共产国际——我不会把我正在做的事情称为“解析 HTML”。我正在一个相当基本的模式上进行查找和替换。恰好文档是 HTML 格式。
标签: regex vba outlook regex-lookarounds negative-lookbehind