zoukankan      html  css  js  c++  java
  • day20-正则表达式练习

    import re
    from re import findall,search,S
    
    secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'
    
    #.的使用,匹配任意字符,换行符除外
    a = 'abc123'
    b = re.compile('a...')
    c = b.findall(a)
    print c
    
    #*的使用,匹配前一个字符0次或者多次
    a1 = 'abababb123abbbbqjlejl23abbb'
    b1 = re.compile('a*b')
    c1 = b.findall(a1)
    print(c1)
    
    #?的使用,匹配前一个字符0次或者1次
    a = 'wqebasd123qewea'
    b = re.compile('w?e')
    c = b.findall(a)
    print(c)
    
    #.*组合使用,贪婪匹配
    b = re.compile('xx.*xx')
    c = b.findall(secret_code)
    print(c)
    #.*?组合使用
    b = re.compile('xx.*?xx')
    c = b.findall(secret_code)
    print(c)
    
    #使用括号与不使用括号的差别
    b = re.compile('xx(.*?)xx')
    c = b.findall(secret_code)
    print(c)
    
    输出结果:
    ['abc1']
    ['abab', 'abb1', 'abbb', 'abbb']
    ['e', 'e', 'we']
    ['xxIxxfasdjifja134xxlovexx23345sdfxxyouxx']
    ['xxIxx', 'xxlovexx', 'xxyouxx']
    ['I', 'love', 'you']
    import re
    #匹配文本中的邮箱
    y='123@qq.comaaa@163.combbb@126.comasdfasfs33333@adfcom'
    ret = re.findall('w+@(?:qq|163|126).com',y)
    print(ret)
    #匹配文本中的时间字符串
    time='asfasf1990-07-12asdfAAAbbbb434241'
    
    ret1 = re.search(r'(?P<year>19[09]d)-(?P<month>d+)-(?P<days>d+)',time)
    print(ret1.group('year'))
    print(ret1.group('month'))
    print(ret1.group('days'))
    #匹配文本中的所有的身份证数字
    a='sfafsf,34234234234,1231313132,154785625475896587,sdefgr54184785ds85,4864465asf86845'
    ret2=re.findall('d{18}',a)
    print(ret2)
    
    
    #匹配出所有整数
    a = '1,-3,3,-5,6,7.3,ad,ae,-98'
    ret3 = re.compile(r"'(-?d+)'")
    result = ret3.findall(str(re.split(',',a)))
    print(result)
    
    
    输出结果:
    ['123@qq.com', 'aaa@163.com', 'bbb@126.com']
    1990
    07
    12
    ['154785625475896587']
    ['1', '-3', '3', '-5', '6', '-98']
  • 相关阅读:
    pgspider sqlite mysql docker 镜像
    pgspider docker 镜像
    pgspider基于pg 的高性能数据可视化sql 集群引擎
    diesel rust orm 框架试用
    golang 条件编译
    Performance Profiling Zeebe
    bazel 学习一 简单java 项目运行
    一个好用node http keeplive agnet
    gox 简单灵活的golang 跨平台编译工具
    mailhog 作为smtp server mock工具
  • 原文地址:https://www.cnblogs.com/wxp997/p/7856370.html
Copyright © 2011-2022 走看看