包含以下内容的电子邮件应被阻止:blablabla.icu/blabla。我对阻止包含以 .icu/ 结尾的链接的电子邮件的规则感到困惑:
/.*\.icu\/*./ Reject
问题是,任何包含.icuabacadada 的电子邮件(包括附件)也会被阻止。
看起来 / 之前的第二个 \ 并没有按预期发挥作用。有什么建议可以解决这个问题吗?
答案1
让我从你的问题中取出正则表达式:
/.*\.icu\/*./
^^ (A) this part is not needed
^^^^^ (B) this matches .icu
^^^ (C) this matches 0, 1, 2 or any number of /
^ (D) this matches 1 character (any of them)
为了得到正确的正则表达式,你需要
- 删除 A(以提高性能)
- 保持B
- 修改C来描述一个
/
字符 - 删除 D(我推测它被错误地放在这里,也许你混淆
.*
了*.
?
因此正确的正则表达式是:
/\.icu\//
答案2
该构造\/*
匹配任何斜线,包括无斜线。也许/.*\.icu\/.*/ Reject
这就是您想要匹配仅包含“.icu/”的地址的原因。我不熟悉后缀正则表达式,但我猜转义的斜线是正确的。
编辑
改进的正则表达式应该是/\.icu\// Reject
(感谢 asdmin)