擅长:python、mysql、java
<p>听起来像是正则表达式的工作:</p>
<pre><code>if re.match("^roger[a-z]+_[a-z]+@hotmail.com$", email_address):
# might be your spammer
</code></pre>
<p>(如果您从未使用过正则表达式,下面是对其含义的简要说明:<code>^</code>匹配字符串的开头,<code>$</code>匹配结尾,因此我们要求这些符号之间的所有内容都是描述整个字符串的模式。<code>[a-z]</code>匹配任何小写字母,<code>+</code>表示“一次或多次”,因此<code>[a-z]+</code>匹配一个或多个小写字母。总而言之,如果字符串可以描述为“字符串的开头,后跟字母<code>roger</code>,后跟一个或多个小写字母,后跟下划线,后跟一个或多个小写字母,然后是<code>@hotmail.com</code>,然后是字符串的结尾。”如果正则表达式匹配,电子邮件地址符合您在问题中描述的模式。)</p>
<p>当然,如果他发现并改变了他的模式(例如,通过切换名字),这个方法将失败,你将不得不依靠更传统的垃圾邮件预防技术,如使用验证码。在</p>