VBA 中正则表达式的命名组

mmm*_*eer 3 regex excel vba

有没有办法在VBA中使用带有正则表达式的命名组?

我想编写一个 Excel VBA Sub 来匹配文件名中的日期并将这些日期减少指定的量。我需要能够区分 dd/mm 和 mm/dd 格式——以及其他不规则之处——并且使用像这样的命名组可以解决问题:

(?:<month>\d\d)(?:<day>\d\d)
Run Code Online (Sandbox Code Playgroud)

感谢建议

Tmd*_*ean 5

不,VBScript 正则表达式中没有命名组。

VBScript 使用与 JScript 相同的正则表达式引擎,因此它与 JavaScript 正则表达式兼容,后者也没有命名组。

您必须使用未命名的组,并且只需按照它们在表达式中出现的顺序,即可在运行后按索引检索它们。

一般来说,无法自动区分 dd/mm 和 mm/dd,因为存在可能是其中任何一个的有效日期。(例如,01/04 可能是 1 月 4 日或 4 月 1 日)。我认为你无法用正则表达式解决这个问题。