这是电子邮件的一个奇怪的正则表达式。
我们可以拥有各种电子邮件地址
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)
您可以尝试各种组合.... 如果表达式不适合任何地方,请告诉我。
我使用过的一些假设:电子邮件地址(用户名)不包含特殊字符,只包含字词或数字。