python:使用正则表达式和findall搜索

时间:2016-03-11 17:07:52

标签: python regex email findall

我有一个很长的字符串,除了其他字符外还包含电子邮件地址。

那样:

>>> s= “fedcantona datto, ernest william, pasquale <b>lops</b>, till plbaum, ...pasqale.  <b>email</b>: pasquale@gmail.com pagina web personale: http://.www. do. aggigi .il ...fanei ana tel: +34-54285, e-<b>mail</b>: fanli@gmail.com. .impedovo ... <b>lops</b> pale, tel: +9-54285, e-<b>mail</b>:  <b>lops</b>, g semo, p .bile ... b mehta, c niederee, a stewart, m demm”

我希望输出字符串的第一个电子邮件地址,我唯一知道的是所有以&#34; @ gmail.com&#34;结尾的电子邮件地址。 我写了这个:

>>> print  re.findall("(%s)(@gmail.it)", s)[0]

但它不起作用,我做错了什么?

1 个答案:

答案 0 :(得分:-1)

您可以使用search()函数仅查找第一个匹配项

>>> rex=re.compile(r"\S+@gmail\.\w+")
>>> rex.search(s).group()
'pasquale@gmail.com'