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]'
我正在努力寻找正确的 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]'