python: 使用正则表达式和 findall 进行搜索
python: search with regex and 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”
我想输出字符串的第一个电子邮件地址,我唯一知道的是所有以“@gmail.com”结尾的电子邮件地址。
我写了这个:
>>> print re.findall("(%s)(@gmail.it)", s)[0]
但是不行,我哪里做错了?
您可以使用 search() 函数仅查找第一次出现的地方
>>> rex=re.compile(r"\S+@gmail\.\w+")
>>> rex.search(s).group()
'pasquale@gmail.com'
我有一个很长的字符串,除了其他字符外,它还包含电子邮件地址。
那样:
>>> 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”
我想输出字符串的第一个电子邮件地址,我唯一知道的是所有以“@gmail.com”结尾的电子邮件地址。 我写了这个:
>>> print re.findall("(%s)(@gmail.it)", s)[0]
但是不行,我哪里做错了?
您可以使用 search() 函数仅查找第一次出现的地方
>>> rex=re.compile(r"\S+@gmail\.\w+")
>>> rex.search(s).group()
'pasquale@gmail.com'