python正则表达式提取文本中的电话号码和邮箱
2017-12-04 16:54
561 查看
代码:
输出:
[('800', '-', '420', '-', '7240', '', '', ''), ('415', '-', '863', '-', '9900', '', '', ''), ('415', '-', '863', '-', '9950', '', '', '')]
('800', '-', '420', '-', '7240', '', '', '')
('415', '-', '863', '-', '9900', '', '', '')
('415', '-', '863', '-', '9950', '', '', '')
copied to clipbpard:
800-420-7240
415-863-9900
415-863-9950
info@nostarch.com
media@nostarch.com
academic@nostarch.com
info@nostarch.com
说明:
书中r'''之后有个括号,所以findall会先返还整个匹配成功对象,后面的大括号同理,extension部分先返回整个括号匹配的,在返回两个小括号匹配的
#! python3 import pyperclip,re phoneregex = re.compile(r''' (\d{3}|\(\d{3}\))? # area code (\s|-|\.)? # separator (\d{3}) # first 3 digits (\s|-|\.) # separator (\d{4}) # last 4 digits (\s*(ext|x|ext.)\s*(\d{2,5}))? # extension ''', re.VERBOSE) emailregex = re.compile(r'''( [a-zA-Z0-9._%+-]+ #username @ #@symbol [a-zA-Z0-9.-]+ #domain name (\.[a-zA-Z]{2,4}) #dot-something )''',re.VERBOSE) text = str(pyperclip.paste()) matches=[] print(phoneregex.findall(text)) for groups in phoneregex.findall(text): print(groups) phonenum='-'.join([groups[0],groups[2],groups[4]]) if groups[7] !='': phonenum+=' x'+groups[7] matches.append(phonenum) for groups in emailregex.findall(text): matches.append(groups[0]) if len(matches)>0: pyperclip.copy('\n'.join(matches)) print('copied to clipbpard:') print('\n'.join(matches)) else: print('no phone numbers or eamil addresses found.')
输出:
[('800', '-', '420', '-', '7240', '', '', ''), ('415', '-', '863', '-', '9900', '', '', ''), ('415', '-', '863', '-', '9950', '', '', '')]
('800', '-', '420', '-', '7240', '', '', '')
('415', '-', '863', '-', '9900', '', '', '')
('415', '-', '863', '-', '9950', '', '', '')
copied to clipbpard:
800-420-7240
415-863-9900
415-863-9950
info@nostarch.com
media@nostarch.com
academic@nostarch.com
info@nostarch.com
说明:
书中r'''之后有个括号,所以findall会先返还整个匹配成功对象,后面的大括号同理,extension部分先返回整个括号匹配的,在返回两个小括号匹配的
相关文章推荐
- 使用java正则表达式提取文本中所有邮箱地址
- Python-同时匹配邮箱和电话号码的正则表达式
- Python-同时匹配邮箱和电话号码的正则表达式
- Python 正则表达式,html标签 提取
- 正则表达式提取文本的日期
- 用正则表达式提取clob里的文本格式记录集
- IOS判断邮箱和电话号码的正则表达式
- C#中使用正则表达式验证电话号码、手机号、身份证号、数字、邮编、时间(仅年月日)、邮箱、小数的正则表达式
- Python 正则表达式提取windows盘符
- 【学习python】re 正则表达式匹配特定词性的conll,提取句子主干(主谓宾)
- java正则表达式验证邮箱,ip地址,电话号码
- iOS 开发: 用户名、邮箱、电话号码、密码、昵称正则表达式验证
- Python 正则表达式提取URL中的Scheme
- ife2015-task0002 正则表达式判断是否为邮箱地址或电话号码
- PHP正则表达式-从文本中提取URL
- [python]根据正则表达式提取指定的内容
- python+正则表达式提取“参考文献”中的作者名,发表日期等信息
- python爬虫提取信息:正则表达式和xpath
- python 根据正则表达式提取指定的内容实例详解
- c#常用正则表达式,验证邮箱,Url,电话号码等