关于python:自动化办公手机号码提取器使用正则表达式轻松提取文本文件中的手机号码

2次阅读

共计 1975 个字符,预计需要花费 5 分钟才能阅读完成。

对于手机号码的提取,其实真正有用的局部就是 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']

【往期精彩】

刚刚发现的可视化动静图库 ipyvizzu,太难看了!

记住这些 windows 网络操作命令,轻松搞定本人的电脑网络!

word 文档款式批量解决,久违了!

python 如何在多层循环中应用 break/continue!

用 python 为可爱的人制作 520 照片墙,已胜利做出效果图!

正文完
 0