根据 Notepad++ 用户手册 Notepad++ 使用 Boost 正则表达式库 v1.80,我有一些表达式想使用 Excel 2013 将它们放入一些 VBA 代码中。
虽然有一个专门的库可以做到这一点,但我不知道 Boost 的 RegEx 与 VBA 的有何不同,也不知道如何将其转换为另一种。
虽然 VBA 代码中使用的正则表达式看起来与我所做的相同,但我将同时使用搜索和替换功能,并且程序之间的替换语法通常不同。 (例如是否使用 $n 或 $n 引用匹配的组
.)
有人知道将 Notepad++ RegEx 转换为 VBA 的正则表达式吗?或者也许有人可以确认两个程序之间的语法确实 100% 相同? (我还没有在 VBA 中尝试过任何东西。)
VBA本身没有正则表达式。当谈论 VBA 中的 RegEx 时,通常会使用 VBScript 5.5 库。您可以通过添加对“Microsoft VBScript Regular Expressions 5.5”库的引用来在您的 VBA 项目中使用它(如果您坚持,也可以使用后期绑定)。
您可以在 Jan Goyvaerts 的网站上找到有关该图书馆详细信息的最佳信息。请查看 regular-expressions.info/vbscript.html。那边的全部内容我就不重复了,就这个:
基本上,Internet Explorer 5.5 实现了 JavaScript 正则表达式风格。但 IE 5.5 在网络标准上的得分并不是很高。它对 JavaScript 正则表达式的实现与实际标准之间存在相当大的差异。幸运的是,大多数都是极端情况,不太可能影响您。
最好的选择是尝试现有的正则表达式 - 这里和其他地方都有足够的例子。