Sieve 给出的前面的正则表达式无效

Invalid preceding regular expression given by Sieve

我正在尝试编写一个匹配正则表达式 ^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)?(example)\.com$ 的过滤器。 (我想捕获来自特定域的每一封电子邮件)。但是,它一直返回错误 Invalid preceding regular expression。该表达式工作正常,所以我不确定为什么会出现此错误。这是我第一次写筛子过滤器,所以我错过了什么吗?

您可以使用

^[a-zA-Z0-9_.+-]+@(([a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)?(example)\.com$

正则表达式应符合 POSIX ERE 正则表达式语法,该语法不允许 non-capturing groups.

因此解决方案是将此正则表达式中的所有 (?: 替换为 (