我正在尝试匹配标头以在roundcube上的过滤器中设置。我发现了与此有关的另一个问题,并尝试了答案,但这没有用。
在RegExr中进行测试时,正则表达式可以工作,但是roundcube只是拒绝保存它。
这是我的正则表达式:\s*(?:Sun|Mon|Tue|Weds|Thu|Fri|Sat),\s*\d+\s+\w+\s+\d+\s+(?:0[12345678]|1[89]|2[0123]):\d\d:\d\d
我在此答案中找到了答案,并根据自己的需要进行了调整:RegEx to match time in "Received: by" e-mail header
它应该与18:00 - 09:00
之间的时间匹配。
我不是正则表达式专家,所以有人可以帮助我吗?
答案 0 :(得分:0)
(?:
... )
在筛子中无效。 \s
/ \d
/ \w
可能也不是。
请参阅:Sieve Email Filtering: Regular Expression Extension,POSIX ERE spec和other sieve documents。
使用普通的组和字符类:
[:space:]*(Sun|Mon|Tue|Weds|Thu|Fri|Sat),[:space:]*[:digit:]+[:space:]+[:alpha:]+[:space:]+[:digit:]+[:space:]+(0[12345678]|1[89]|2[0123]):[:digit:][:digit:]:[:digit:][:digit:]
(我将\w
替换为[:alpha:]
,但这可能不是您想要的。)
另外,请记住要require ["regex"];