python正则表达式提取文本中的电话号码和邮箱
来源:互联网 发布:linux服务器文件同步 编辑:程序博客网 时间:2024/05/18 02:37
代码:
#! python3import pyperclip,rephoneregex = 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部分先返回整个括号匹配的,在返回两个小括号匹配的
阅读全文
0 0
- python正则表达式提取文本中的电话号码和邮箱
- Python-同时匹配邮箱和电话号码的正则表达式
- 正则表达式提取电话号码
- 正则表达式提取电话号码
- IOS判断邮箱和电话号码的正则表达式
- python通过正则表达式提取文本
- Python 正则表达式提取UNC路径中的server和share
- 正则表达式解决邮箱,电话号码等规范
- java正则表达式验证邮箱、电话号码示例
- 正则表达式(二)验证邮箱、电话号码
- Python 正则表达式提取URL中的Scheme
- Python 正则表达式提取URL中的USER
- Python 正则表达式提取URL中的Host
- Python 正则表达式提取URL中的Path
- Python 正则表达式提取URL中的Query
- Python 正则表达式提取URL中的Fragment
- OC 正则验证电话号码和邮箱
- 正则表达式提取HTML文本中的图片图片
- Android开发者不可错过的11个开源项目
- C++内存分配_1
- 嵌入式11月高薪就业榜好犀利 最高月薪已突破20000元
- spring+springmvc+redis配置
- 算法导论第三版-第6章堆排序操作完整代码(建堆、插入、删除、排序等)
- python正则表达式提取文本中的电话号码和邮箱
- Oracle数据类型之number
- Python之深浅拷贝
- Windows系统Android Studio Gradle配置
- Typora简单使用手册
- 打印倒得等腰三角形
- iOS开发—邮件发送第三方SKPSMTPMessage 新解
- 理解IntelliJ的Web部署逻辑
- C语言数组知识