创建Perl正则表达式以“不匹配”特定电子邮件

时间:2019-04-26 19:27:20

标签: regex perl cpanel

为帮助对抗垃圾邮件,我为cPanel中的域设置了多个“全局电子邮件过滤器”,但是这些过滤器现在似乎已覆盖了我已经使用的cPanel“默认地址=放弃”设置!因此,我现在正尝试重新创建规则,以使不存在的user@mydomain.co.uk(垃圾邮件)电子邮件被丢弃,例如。

发送电子邮件给(匹配PERL正则表达式):

如果与此约翰或彼得不匹配或喜欢@ mydomain.co.uk

操作:

放弃

*因此john123@mydomain.co.uk将是一个匹配项,但将被丢弃

john@mydomain.co.uk或peter@mydomain.co.uk或luke@mydomain.co.uk将不匹配,将被接受以进行交付。

我希望您可以为我创建此“ PERL”正则表达式。

我已经尝试过了,但是没有用-

(?!.*(john|peter|luke@mydomain.co.uk))

1 个答案:

答案 0 :(得分:2)

^(?!(?:john|peter|luke)\@mydomain\.co\.uk\z)

这匹配除

以外的所有内容
  • john@mydomain.co.uk
  • peter@mydomain.co.uk
  • luke@mydomain.co.uk

^(?!(?:john|peter|luke)\@(?:local\.)?mydomain\.co\.uk\z)

这匹配除

以外的所有内容
  • john@mydomain.co.uk
  • peter@mydomain.co.uk
  • luke@mydomain.co.uk
  • john@local.mydomain.co.uk
  • peter@local.mydomain.co.uk
  • luke@local.mydomain.co.uk

您可以通过将整个内容包装在(?i:...)中来使它们不区分大小写。