正则表达式在Python中搜索电子邮件

时间:2016-04-01 08:18:04

标签: python regex

我的电子邮件正则表达式搜索正在提取.comthis而不是.com域名,如何让它只搜索有用的域名?

regex = re.compile(("([a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`"
                "{|}~-]+)*(@|\sat\s)(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(\.|"
                "\sdot\s))+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)"))

1 个答案:

答案 0 :(得分:-1)

这是我认为可能有用的东西

import re
s = 'My name is Conrad, and blahblah@gmail.com is my email.'
domain = re.search("@[\w.]+", s)
print domain.group()

输出

@ gmail.com 正则表达式的工作原理:

@ - scan till you see this character

[\ w。]可能匹配的一组字符,因此\ w是所有字母数字字符和尾随句点。添加到那组字符。

  • 上一组中的一个或多个。

因为这个正则表达式匹配句点字符和@之后的每个字母数字,所以即使在句子中间,它也会匹配电子邮件域。