#coding=utf-8
import re
email_re = re.compile(
r"(([-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom
r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string
r')@(?:[A-Z0-9]+(?:-*[A-Z0-9]+)*\.)+[A-Z]{2,6})', re.IGNORECASE) # domain
email_str = u"aabbcc@163.com QQ:87590067 MSN:ddeedd@hotmail.com"
email_list = []
for one in email_re.findall(email_str):
email_list.append(one[0])
print email_list
结果:[u'aabbcc@163.com', u'ddeedd@hotmail.com']
其中email_re为django源码中匹配email地址的正则表达式
注:
区分group,groups,findall:
group()即默认情况, 是返回的整个表达式所匹配的,group(1)是返回子组1(其实就是第一个括号里的表达式)所匹配的,类似的group(2)是子组2匹配的,为了方面记忆,可以用命名组 (?P<name>...) 匹配时用group(name)即可
而groups()返回的是一个元组,包括所有子组所匹配的 如 (子组1,子组2,...)
而findall()返回的是一个列表,他的第一个元素其实就是groups()返回的元组
一个简单的例子:
>>> re.search('(a(\d))','a342a1').group(0,1,2)
('a3', 'a3', '3')
>>> re.search('(a(\d))','a342a1').groups()
('a3', '3')
>>> re.findall('(a(\d))','a342a1')
[('a3', '3'), ('a1', '1')]
分享到:
相关推荐
python拆分中英文混合字符串 - 按中文拆分
Python 快速提取一串字符中的中文.zip
python excel中替换字符串
输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的个数,本文给出解决方法 编写思路: 1、字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法 2...
自动办公-python 快速提取一串字符中的中文
python实现字符串模糊匹配
该程序用于统计一个字符串中中英文、空格、数字和标点符号的个数。
python语言查找字符串,包括匹配,这是做conll评测中用到的部分程序
Python内置的字符串处理函Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。
Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码...
python3字符串,python3字符串,
Python 使用Python逆序输出字符串 Python源码Python 使用Python逆序输出字符串 Python源码Python 使用Python逆序输出字符串 Python源码Python 使用Python逆序输出字符串 Python源码Python 使用Python逆序输出字符串 ...
一个快速,强大的Python库,用于检查字符串中的敏感词
在字符串中找出连续最长的数字串,并输出最长的字符串长度
python实现快速提取一串字符中的中文
Python中使用多种方式对某一字符串的字符进行统计,实现字符串冗余字符统计,输出执行时间和内容字典
Python 自动办公- 快速提取一串字符中的中文 Python源码Python 自动办公- 快速提取一串字符中的中文 Python源码Python 自动办公- 快速提取一串字符中的中文 Python源码Python 自动办公- 快速提取一串字符中的中文 ...
Python123之字符串压缩#134865
Python实现最短回文字符串输出
主要介绍了Python 如何在字符串中插入变量,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下