美文网首页Python_StudyPythonpython
自动化办公:手机号码提取器,使用正则表达式轻松提取文本文件中的手

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

作者: Python集中营 | 来源:发表于2022-06-08 20:02 被阅读0次

    关于手机号码的提取,其实真正有用的部分就是re模块提供的正则表达式。使用正则表达式就能轻松地匹配到手机号码,由于功能比较简单这次并没有采用UI界面的方式来实现该功能。

    【阅读全文】

    file

    第一步:写一个控制台输入函数。

    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照片墙,已成功做出效果图!

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/cctpmrtx.html