python正则表达式解析

时间:2011-12-16 15:32:06

标签: python regex

我有哈希:

{'login': u'myemail (myemail@gmail.com)'}

我只需要解析电子邮件myemail@gmail.com

我必须撰写什么正则表达式

4 个答案:

答案 0 :(得分:2)

不需要正则表达式。请改用字符串操作。这将在第一个空格上拆分值,然后从返回数组的第二个项目(())中删除[1]

yourhash = {'login': u'myemail (myemail@gmail.com)'}

email = yourhash['login'].split()[1].strip("()")

print(email)
# myemail@gmail.com

答案 1 :(得分:2)

如果你真的需要一个正则表达式解决方案(而且还发布了优秀的字符串拆分选项),这将为你做到:

>>> import re
>>> re.match('.*\((.*)\)', 'myemail (myemail@gmail.com)').group(1)
'myemail@gmail.com'
>>>

答案 2 :(得分:1)

改为使用字符串方法:

my_dict['login'].split['('][1].strip(')')

答案 3 :(得分:1)

有许多匹配电子邮件的模式。可以找到一个很好的资源here

例如,

^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$