电子邮件地址的正则表达式

时间:2012-01-15 10:21:35

标签: python

这是电子邮件的一个奇怪的正则表达式。

我们可以拥有各种电子邮件地址

string1@somemail.com

string1@somemail.co.in

string1.string2@somemail.com

string1.string2@somemail.co.in

以下正则表达式可以找到上面的任何邮件

email2="santa.banta@gmail.co.in"
email1="arindam31@yahoo.co.in'"
email="bogusemail123@sillymail.com"
email3="santa.banta.manta@gmail.co.in"
email4="santa.banta.manta@gmail.co.in.xv.fg.gh"
email5="abc.dcf@ghj.org"
email6="santa.banta.manta@gmail.co.in.org"





re.search('\w+[.|\w]\w+@\w+[.]\w+[.|\w+]\w+',email)

x=re.search('\w+[.|\w]\w+@\w+[.]\w+[.|\w+]\w+',email2)
x.group()
santa.banta@gmail.co.in'
x=re.search('\w+[.|\w]\w+@\w+[.]\w+[.|\w+]\w+',email1)
x.group()
arindam31@yahoo.co.in'
x=re.search('\w+[.|\w]\w+@\w+[.]\w+[.|\w+]\w+',email)
x.group()
'bogusemail123@sillymail.com'

这似乎太复杂了......

我把它概括了一点......

x=re.search('(\w+[.|\w])*@(\w+[.])*\w+',email4)
x.group()
'santa.banta.manta@gmail.co.in.xv.fg.gh'

上面的正则表达式现在可以检测到任何类型的组合......

现在,如果您只想要以'.in'或'.com'结尾的电子邮件地址 然后你可以添加一个变体......

x=re.search('(\w+[.|\w])*@(\w+[.])*(com$|in$)',email)

您可以尝试各种组合.... 如果表达式不适合任何地方,请告诉我。

我使用过的一些假设:电子邮件地址(用户名)不包含特殊字符,只包含字词或数字。

1 个答案:

答案 0 :(得分:1)