首页 > 解决方案 > 实现正则表达式代码而不添加对 RegEx 库的引用

问题描述

我开发了一个与主题行中的数字模式匹配的宏。我正在使用 RegEx 库和以下代码段:

orderRegExp.Pattern = ".*\d{4}.*$"

当通过组策略推出此功能时,我们遇到了困难,因为动态添加引用不起作用。

我需要重新编写宏,使其可以在不使用正则表达式的情况下在字符串中找到四个或更多连续数字。例如,肯定匹配应该是“请参阅 T2342 了解更多详细信息”或“工作编号 4763”。否定匹配应为“请参阅 T123 以供参考”或“检查第 456 页”。

最终实施的解决方案:

Function RegResult(SubjectString As String) As Boolean

Dim re As Object
Set re = CreateObject("vbscript.regexp")
With re
    .Pattern = ".*\d{4}.*$"
    RegResult = .test(SubjectString)
End With
End Function

标签: regexvba

解决方案


请尝试后期绑定方式:

Dim regex as Object
Set regex = CreateObject("vbscript.regexp")

它不需要像早期绑定那样设置引用...


推荐阅读