2017-03-15 168 views
0

我努力寻找正确的LUA代码来检测两个日期是否出现在对方之后。LUA模式检测匹配日期

我有类似的东西可以检测到两个关键字,但它不适用于我的日期。

这里是LUA的代码,我到目前为止有:

(%a+) %- %1$ 

干杯,

+1

你能给的要匹配什么样的例子吗?另外,你在用什么语言工作? –

+1

请提供您正在查看的文本和预期结果的一些示例。 – Sam

+0

看起来你想匹配与'%1'重复相同的模式 - 不,这个'%1'匹配与'(%a +)'匹配的相同字母字符。尝试删除'$'字符串锚点结束。请提供您尝试匹配的示例字符串。顺便说一句,你使用的不是正则表达式,这些都是Lua模式。 –

回答

2

你的主要麻烦的是,你们要与%a+模式相匹配像2017-03-19的日期。 %a匹配一个字母,%a+匹配一个或多个字母。

你需要更精确的一个来代替这种模式,像%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]'