LUA 检测匹配日期的模式

LUA patterns to detect matching date

我正在努力寻找正确的 LUA 代码来检测两个日期是否相继出现。

我有类似的东西可以检测到两个关键字,但它对我的约会不起作用。

这是我目前的 LUA 代码:

(%a+) %- %1$

干杯,

这里的主要问题是您想要将 2017-03-19 这样的日期与 %a+ 模式匹配。 %a匹配一个字母,%a+匹配1个或多个字母。

您需要用更精确的模式替换此模式,例如 %d+%-%d+%-%d+%d%d%d%d%-%d%d%-%d%d:

'(%d+%-%d+%-%d+) %- %1'

其中 %d 匹配一个数字。

现在,如果你想像这样匹配整个字符串,你需要用 ^$ 锚将模式括起来。

'^(%d+%-%d+%-%d+) %- %1$'

如果要添加单词边界,

 '%f[%d](%d+%-%d+%-%d+) %- %1%f[%D]'