• Python练习---正则表达式


    1、 匹配一段文本中的每行的邮箱
    y='123@qq.comaaa@163.combbb@126.comasdfasfs33333@adfcom'
    import re
    ret=re.findall('w+@(?:qq|163|126).com',y)
    print(ret)
    ['123@qq.com', 'aaa@163.com', 'bbb@126.com']
    2、 匹配一段文本中的每行的时间字符串,比如:‘1990-07-12’;
    time='asfasf1990-07-12asdfAAAbbbb434241'
    import re
    ret=re.search(r'(?P<year>19[09]d)-(?P<month>d+)-(?P<days>d+)',time)
    print(ret.group('year'))
    print(ret.group('month'))
    print(ret.group('days'))
    1990
    07
    12
    # 3、 匹配一段文本中所有的身份证数字。
    a='sfafsf,34234234234,1231313132,154785625475896587,sdefgr54184785ds85,4864465asf86845'
    import re
    ret=re.findall('d{18}',a)
    print(ret)
    ['154785625475896587']
    # 4、 匹配qq号。(腾讯QQ号从10000开始)  [1,9][0,9]{4,}
    q='3344,88888,7778957,10000,99999,414,4,867287672'
    import re
    ret=re.findall('[1-9][0-9]{4,}',q)
    print(ret)
    ['88888', '7778957', '10000', '99999', '867287672']
    # 5、 匹配一个浮点数
    import re
    ret=re.findall('-?d+.?d*','-1,-2.5,8.8,1,0')
    print(ret)
    ['-1', '-2.5', '8.8', '1', '0']
    # 6、 匹配汉字。             ^[u4e00-u9fa5]{0,}$
    import re
    ret=re.findall('[u4e00-u9fa5]{0,}','的沙发斯蒂芬')
    print(ret)
    ['的沙发斯蒂芬', '']
    # 7、 匹配出所有整数
    a='1,-3,a,-2.5,7.7,asdf'
    import re
    ret=re.findall(r"'(-?d+)'",str(re.split(',',a)))
    print(ret)
    ['1', '-3']
  • 相关阅读:
    HTML
    短信发送平台-阿里大于
    java基础练习题
    2019年让程序员崩溃的 60 个瞬间,笑死我了
    JDBC连接时出现的问题总结
    Java 学习笔记 IO流与File操作
    Java 学习笔记 两大集合框架Map和Collection
    我的github博客地址
    重新认识mapreduce
    java打字游戏
  • 原文地址:https://www.cnblogs.com/chenqizhou/p/7081951.html
Copyright © 2020-2023  润新知