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']
  • 相关阅读:
    C++对象数组与对象指针
    C++析构函数
    centos7下安装mysql
    Java杂知识汇总(自己积累的)
    利用json模块解析dict报错找不到attribute 'dumps'[python2.7]
    Linux删除除了今天以外的文件
    docker简单介绍(资料收集总结)
    python不可以打印.doc文件
    python安装模块的时候报错error: command 'gcc' failed with exit status 1
    yum和head一起用,报错“由于管道被破坏而退出”
  • 原文地址:https://www.cnblogs.com/wxp997/p/7856370.html
Copyright © 2011-2022 走看看