有许多的电子邮件正则表达式的问题突然出现了这里,我老老实实困惑,为什么人们在使用这些疯狂钝匹配的表达,而不是一个非常简单的解析器,拆分电子邮件成名称和域的令牌,然后验证那些反对名称允许的有效字符(此部分无法进一步检查)和域名的有效字符(我想您可以添加对所有世界TLD的检查,然后为国家/地区添加另一级别的二级域名用这样的(即com.uk)).
真正的问题是tlds和slds不断变化(与普遍看法相反),因此如果您计划在根名称服务器发送更改时进行所有这些高级别检查,则必须不断更新正则表达式.
为什么没有一个模块可以简单地验证从数据库或平面文件中提取的域,并可选择检查DNS是否匹配记录?
我在这里很认真,为什么每个人都如此热衷于为此发明完美的正则表达式?它似乎不是解决问题的合适方法......
说服我不仅可以在regexp中做(并满足每个人),但它是一个比自定义解析器/验证器更好的解决方案.
-亚当