-2

我们收到了很多表单中的垃圾邮件femlmcte@tnbt.com

我可以看到 cPanel 垃圾邮件刺客允许使用正则表达式匹配来过滤邮件。

我想写一个正则表达式来识别表单中的邮件

anylengthofstrring@abcd.com  

或者

someotherlength@efgh.co.za

即在@之后只有四个字母,但.com、.co.uk、.co.za 等之前

4

2 回答 2

0

尝试以下操作:

[^@]+@[a-zA-Z]{4}\.(com|co\.uk|co\.za)

解释:

[^@]+@                # One or more characters except @ followed by @
[a-zA-Z]{4}           # Matches 4 characters in the range A-Z and a-z
\.(com|co\.uk|co\.za) # Matches .com, .co.uk, and .co.za

如果您想匹配任何顶级域名,请替换(com|co\.uk|co\.za).*(我假设由于您收到这些电子邮件,您已经知道它们是有效的,因此无需验证顶级域名)。

另请注意,根据您当前的标准,您会将来自 的某些内容视为垃圾邮件admin@food.com,这可能是您想要的,也可能不是。

于 2012-09-14T10:09:25.860 回答
0

所以你想匹配一个 at 符号后跟 4 个非点字符,然后是一个点?该规范很容易转换为正则表达式:

@[^.]{4}\.
于 2012-09-14T10:10:50.003 回答