Python 使用正则表达式从html中提取电子邮件

Python 使用正则表达式从html中提取电子邮件,python,regex,Python,Regex,我正试图从中提取任何使用正则表达式的jabber帐户(电子邮件) 我尝试过使用正则表达式: \w+@[\w.-]+|\{(?:\w+, *)+\w+\}@[\w.-]+ …但它没有产生预期的结果。这可能会起作用: [^\s@]+@[^\s@]+\.[^\s@]+ p=re.compile(ur'[^\s@]+@[^\s@]+\.[^\s@]+',re.MULTILINE | re.IGNORECASE) 测试_str=r'…' 关于findall(p,test_str) 看 结果 试试这个:

我正试图从中提取任何使用正则表达式的jabber帐户(电子邮件)

我尝试过使用正则表达式:

\w+@[\w.-]+|\{(?:\w+, *)+\w+\}@[\w.-]+
…但它没有产生预期的结果。

这可能会起作用:

[^\s@]+@[^\s@]+\.[^\s@]+

p=re.compile(ur'[^\s@]+@[^\s@]+\.[^\s@]+',re.MULTILINE | re.IGNORECASE)
测试_str=r'…'
关于findall(p,test_str)

结果 试试这个:

reg_emails=r'^((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))@((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))\.((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))$'

欢迎来到SO!我修改了一些措辞,并添加了一个标签,以帮助提高您获得答案的机会。您可能还想尝试添加有关运行不起作用的代码时发生的情况的更具体信息。祝你好运看看:。最好向下滚动到官方标准:RFC 5322,然后感到害怕。regex不是执行此任务的工具。您的问题在堆栈溢出方面已被问过多次。请参阅我的默认答案…非常接近,但
@…
不是有效的地址。。。一般来说:•性格。(点、句号、句号)前提是它不是第一个或最后一个字符,并且它不会连续出现两次或两次以上。对于匹配类似电子邮件地址的模式,您的尝试很好。@dognose:我没有尝试创建一个通用正则表达式,只是在这种情况下可以使用的东西。关于Python的电子邮件验证正则表达式,这里已经说了很多:,在这里不需要继续。
# -*- coding: utf-8 -*-
s = '''
...YOUR HTML page source code HERE..........

'''

import re
reobj = re.compile(r"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b", re.IGNORECASE)
print re.findall(reobj, s.decode('utf-8'))
[u'skypeman@jabbim.cz', u'sonics@creep.im', u'voxis_team@lsd-25.ru', u'voxis_team@lsd-25.ru', u'adhrann@jabbim.cz', u'jabberwocky@jabber.systemli.org']
reg_emails=r'^((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))@((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))\.((([0-9a-zA-Z]+)[\_\.\-])*([0-9a-zA-Z]+))$'