当前位置:
首页 > 编程开发 > Python基础教程 >
-
自动化办公:手机号码提取器,使用正则表达式轻松提取文本文件中的手机号码
关于手机号码的提取,其实真正有用的部分就是re模块提供的正则表达式。使用正则表达式就能轻松地匹配到手机号码,由于功能比较简单这次并没有采用UI界面的方式来实现该功能。
第一步:写一个控制台输入函数。
path = input('请输入需要提取手机号码的文件路径(.txt):\n')
第二步:读取包含手机号码的文本文件。
def read_text(path):
'''
读取文本文件
:param path: 文本文件路径
:return: 返回文本
'''
file = open(path,encoding="utf-8")
text = file.read()
file.close()
return text
第三步:使用正则匹配文本中的手机号并返回。
import re # 导入正则表达式处理模块
def get_phone(text):
'''
使用正则表达式提取文本中的手机号
:param text: 原始文本
:return: 手机号数组
'''
phones = re.findall(r'(13\d{9}|14[5|7]\d{8}|15\d{9}|166{\d{8}|17[3|6|7]{\d{8}|18\d{9})', text)
return phones
第四步:执行功能函数。
text = read_text(path) # 执行文本文件读取函数
result = get_phone(text) # 执行文本正则匹配手机号函数
from pprint import pprint # 导入pprint打印接口
pprint(result)
使用方法,启动.py文件之后输入包含手机号码的.txt文件路径就能完成手机号码的提取。
准备好包含手机号码的文本文件(.txt文件)。
我是公众号:[Python 集中营] 15934689023,其中包含手机号码。
我是公众号:[Python 集中营] 15934689024,其中包含手机号码。
我是公众号:[Python 集中营] 15934689025,其中包含手机号码。
我是公众号:[Python 集中营] 15934689026,其中包含手机号码。
我是公众号:[Python 集中营] 15934689027,其中包含手机号码。
我是公众号:[Python 集中营] 15934689028,其中包含手机号码。
我是公众号:[Python 集中营] 15934689029,其中包含手机号码。
我是公众号:[Python 集中营] 15934689030,其中包含手机号码。
我是公众号:[Python 集中营] 15934689031,其中包含手机号码。
我是公众号:[Python 集中营] 15934689032,其中包含手机号码。
我是公众号:[Python 集中营] 15934689033,其中包含手机号码。
我是公众号:[Python 集中营] 15934689034,其中包含手机号码。
我是公众号:[Python 集中营] 15934689035,其中包含手机号码。
我是公众号:[Python 集中营] 15934689036,其中包含手机号码。
我是公众号:[Python 集中营] 15934689037,其中包含手机号码。
我是公众号:[Python 集中营] 15934689038,其中包含手机号码。
我是公众号:[Python 集中营] 15934689039,其中包含手机号码。
我是公众号:[Python 集中营] 15934689040,其中包含手机号码。
返回结果是一个只有手机号码的数组文件。
['15934689023',
'15934689024',
'15934689025',
'15934689026',
'15934689027',
'15934689028',
'15934689029',
'15934689030',
'15934689031',
'15934689032',
'15934689033',
'15934689034',
'15934689035',
'15934689036',
'15934689037',
'15934689038',
'15934689039',
'15934689040',
'15934689041',
'15934689042',
'15934689043',
'15934689044',
'15934689045',
'15934689046',
'15934689047',
'15934689048',
'15934689049',
'15934689050',
'15934689051',
'15934689052',
'15934689053']
原文链接:https://mp.weixin.qq.com/s?__biz=MzA3ODk1Mzg0Mg==&mid=2649852260&idx=1&sn=c31fe2cc6bef8e76c41c457194ae8df0&chksm=87bfc579b0c84c6f0a7002405fad8890d8d9a602ee818349cfd65ff6a7960ca7dbf4dbd9989f&token=1388253779&lang=zh_CN#rd
最新更新
go语言写http踩得坑
【Python】爬虫笔记-从PyMySQL到DBUtils
【Python】爬虫笔记-开源代理池haipproxy使用
Python规范:提高可读性
C语言两结构体之间的成员互换
【爬虫实战项目】Python爬取Top100电影榜单
linux(Ubuntu)安装python
anaconda peompt 、labalimg 数据标注
【Python数据分析案例】python数据分析老番
【爬虫+情感判定+Top10高频词+词云图】“
一次SQL调优 聊一聊 SQLSERVER 数据页
聊一聊 SQLSERVER 的行不能跨页
再聊一下那 SQLSERVER 行不能跨页的事
大数据概述
支线第九篇:
数据库的值获取过来转换成Json数组的方法
支线第八篇:数据类型转换
支线第七篇:又是解决报错
支线第六篇:停下脚步,理清思路
支线第五篇:配置接口
【JS】原始类型是值类型吗?存储在栈上
C# List<T> 转 DataTable
C# List<T> 转 DataTable
C# List<T> 转 DataTable 方法修改版
使用插件式开发称重仪表驱动,RS232串口
实现简单的csv文件上传和bootstrap表格的下
第一百一十七篇: JavaScript 工厂模式和原型
第一百一十六篇: JavaScript理解对象
第一百一十五篇: JS集合引用类型Map
第一百一十四篇: JS数组Array(三)数组常