最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python3 re如何匹配满足条件的选项?

    正文概述    2020-09-21   304

    python3 re如何匹配满足条件的选项?

    我们在表格中查询数据,只需要点击那个功能键就可以了,不过这也是仅限于数据不多时候的使用。在我们数据比较多的时候,小编还是推荐用python中的模块来进行解决,比如最近一直在讲的re模块就非常好用。那么其中有没有能够进行匹配满足条件选项的函数呢?我们一起往下看:


    编写一个程序,复制一段文本到剪贴板后,运行程序,自动找出文本所有的电话号码和邮件地址,并复制到剪贴板供用户使用。

    思路:

    • 从剪贴板中获取文本

    • 匹配出所有的电话号码和邮件地址

    • 将它们粘贴到剪贴板

    实现:

    • 使用pyperclip模块复制或粘贴字符串,pyperclip 需要使用pip安装

    • 创建两个正则表达式,一个匹配电话,另一个匹配邮件地址

    • 将匹配好的字符串整理好,处理一下格式,发送给剪贴板

    • 如果没有找到匹配,报错或提示用户

     

    代码:

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    # author: Windrivder
    # email : windrivder@gmail.com
    # date  : 17/03/27 12:58:05
     
    import re, pyperclip
     
    # 匹配电话
    phoneRegex = re.compile(r'''(
        ^(13[0-9]|              # 匹配13开头的电话
        14[5|7]|
        15[0|1|2|3|5|6|7|8|9]|
        18[0|1|2|3|5|6|7|8|9])
        \d{8}$
    )''', re.VERBOSE)           # 如上,传入参数 re.VERBOSE 可以给正则表达式添加注释,详见附录
     
    # 匹配邮件地址
    emailRegex = re.compile(r'''(
        [a-zA-Z0-9._%+-]+           # email-username
        @
        [a-zA-Z0-9.-]+              # domain-name
        (\.[a-zA-Z]{2,4})            # dot-something
    )''', re.VERBOSE)
     
    # 从剪贴板中获取字符串
    text = str(pyperclip.paste())
    # 存放匹配到的字符串
    matches = []
    for phone in phoneRegex.findall(text):
        matches.append(phone[0])
    for email in emailRegex.findall(text):
        matches.append(email[0])
     
    # 将匹配到的字符串复制到剪贴板
    if len(matches) > 0:
        pyperclip.copy('\n'.join(matches))
        print('Copied to clipboard:')
        print('\n'.join(matches))
    else:
        print('No phone or email found.')


    小伙伴们可以先理清开头的思路,然后再进行代码的复制尝试,看看是不是能提取出文本中的电话号码呢?更多Python学习推荐:起源地模板网教学中心


    起源地下载网 » python3 re如何匹配满足条件的选项?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元