我正在使用以下正则表达式来验证 Rails 应用程序的电子邮件数据库中的电子邮件:
/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
它有点工作,但它给我留下了无效的邮件,有这种错误:
name@domain..com
我该如何重写这个正则表达式来避免这种情况,或者这是清理电子邮件列表的最佳正则表达式我必须只留下有效的电子邮件地址?我正在使用这样的方法来清理列表:
def mailSweep
mails = Email.all.lazy
for address in mails do
if address.email.to_s =~ /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
puts address.email.to_s + " " + "it's valid"
else
puts address.email.to_s + " " + "it's invalid, destroying..."
address.destroy
end
end
end