我有带有 managesieve v. 8.7 扩展的 Roundcube Webmail v. 1.3.1 邮件客户端,并且想为我的邮件添加一些正则表达式驱动的操作,而我在正则表达式风格上找到的唯一文档就是这个文档。但是我找不到它支持的特殊字符(或者\n
是\\n
?)等等,以及如何编写它们。提到了定义的字符组,但我宁愿使用(这似乎不起作用)而不是更广泛的或类似的。\r
\d
[: :]
\n
[:cntrl:]
[:space:]
在文档中写到它必须支持 POSIX ERE 标准,但是我熟悉不同风格的正则表达式(PERL 类型),所以我觉得这相当困难。
您能帮忙找出其中支持哪些特殊字符和字符序列吗?哪些字符不特殊等?
我想出了一个简单的正则表达式来匹配 YYYY/MM/DD 中的日期,然后是空格,然后是 HH:MM:SS 格式的时间,然后是换行符,然后是邮件正文开头的任何内容,但它似乎不是在职的。这是筛子代码:
require ["body","fileinto","regex","vacation"];
# rule:[date and time]
if anyof (body :text :regex "[[:digit:]]{2}/[[:digit:]]{2}/[[:digit:]]{4} [[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}[[:space:]](.*[[:space:]]*)*")
{
vacation text:
YOU DID IT!
.
;
}
您链接到的 Sieve 文档指定它符合 POSIX 正则表达式语法,该语法记录在
http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html
这将是最权威的参考。