• 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']
  • 相关阅读:
    java算法---五家共井
    JAVA实用工具--javamail
    java基础篇---HTTP协议
    java基础解疑!!!
    java基础解疑!!
    jsp----标签编程(JSTL)
    jsp----EL表达式
    java基础篇---线程问题
    算法篇---java经典问题!!!
    java基础篇---注解(Annotation)
  • 原文地址:https://www.cnblogs.com/wxp997/p/7856370.html
Copyright © 2020-2023  润新知