正则表达式电子邮件(几种类型)提取

时间:2012-03-22 16:26:10

标签: regex

我想从内容中提取电子邮件地址。我有关于误报的问题。

我的正则表达式:example@site.com

[^\.^\w+](\w+) *?@ *?(\w+) *?(?:\.|dot) *?(\w+)

正则表达式:example@sub.site.com

[^\.^\w+](\w+) *?@ *?(\w+) *?(?:\.|dot) *?(\w+) *?(?:\.|dot) *?(\w+)

我希望第一个正则表达式不匹配: example@sub.site

我该如何解决?

1 个答案:

答案 0 :(得分:1)

区分example@site.com和example@sub.site的唯一方法是维护一个有效的顶级域名列表(是的,对不起)。

,即将(\w+)替换为(com|org|info|ly|...,依此类推。

There is no universal way.

另外,你只能做一个正则表达式。

另外,我的地址可能是example@sub1.sub2.site.com,小心......