我是电子邮件垃圾邮件隔离区管理员,我可以编写正则表达式规则来阻止电子邮件。电子邮件垃圾邮件存在一个常见的分类,即我们的域名,因此任何电子邮件地址的用户名都会在其他域名之前被欺骗。
例如,假设我的电子邮件地址是jwclark@domain.com。在这种情况下,垃圾邮件发送者正在从我的用户名开头的各种其他域中写信给我,如:
jwclark1234@whatever.com
jwclark@wrongdomain.com
jwclark@a.domain.com
如何编写正则表达式规则以匹配包括jwclark和任何通配符在内的所有内容,但与原始jwclark@domain.com不匹配?除了我的实际示例电子邮件地址jwclark@domain.com之外,我想要一个匹配上述所有内容的正则表达式。
答案 0 :(得分:3)
我已经制作了这个正则表达式here
^jwclark.*[@](?!domain\.com).*$
它是javascript格式,但应该很容易适应php或其他东西。
考虑到你的问题的性质,你可能最好制作一个正则表达式构建器函数,根据参数为你提供正确的正则表达式。
或者,实际上使用不同的方法。我最近发现了如何使用regexp解析浮点数的范围,但这并不能使它成为在范围内查找数字的正确解决方案。 :P
编辑 - 由于zx81
,修复了愚蠢的冗余编辑 - 更改以符合奇怪的限制:
^jwclark.{0,25}[@][^d][^o][^m][^a][^i][^n].{0,25}\.com.{0,25}$