首页 > 解决方案 > 正则表达式 vba 负前瞻不起作用

问题描述

第一次在这里提问,如果不符合预期,抱歉。

我正在开发一个关于 Access 的应用程序,我需要在其中对一些文档进行分类。我正在使用正则表达式来做到这一点。

我认为它工作正常,但最近我发现有些文本不应该匹配。

我正在测试的文本示例是:

https://regex101.com/r/L1L2gg/2

显然,负前瞻无法正常工作。在 Regex101 上没有匹配项(预期结果),但是在运行应用程序时,它会找到匹配项,但我看不出它为什么匹配。

IgnoreCase 是 True MultiLine 是 True 全局是 False

Pattern:(?=.*?\bacolho|julgo|julgando|julgar|reconheço\b)(?=.*?\bparcial|parcialmente\b).*^((?!vencidas).)*$

Text Match: "Reconheço de ofício, pois, apenas a prescrição parcial de eventuais parcelas atrasadas do benefício, restritamente àquelas vencidas antes do quinquênio anterior à propositura da ação."

如果我在每个正则表达式测试器上删除负前瞻,它会找到匹配项,但是当它存在时,它不匹配(这是我所期望的)。但是在我的应用程序上不应该有相同的结果吗?或者我缺少一些关于 VBA 正则表达式的特定内容?

编辑:刚刚在 Excel 上对其进行了测试,并按预期工作。一定是Access上的东西坏了。

标签: regexvbams-accessnegative-lookahead

解决方案


推荐阅读