zoukankan      html  css  js  c++  java
  • python中re模块

    1 search(): 在整个字符串中查找,返回第一个匹配内容,如果找到返回match对象,没找到返回None;需要通过group取值,为None时会报错

    import re
    ret = re.search('d+','wanghw123ww676')
    print(ret)
    if ret:
        print(ret.group())
    
    输出结果:
    <_sre.SRE_Match object; span=(6, 9), match='123'>
    123
    

    2 match():从字符串的第一个字符开始匹配,如果找到返回match对象,没找到返回None;需要通过group方法取值,为None时会报错

    import re
    mm="c:\ab\bc\cd\"
    print (mm)
    r=re.match("c:\\ab",mm) #\防止转义
    print (r.group())
    r=re.match(r"c:\ab",mm).group() #r表示原生字符串
    print (r)
    
    输出结果:
    c:abccd
    c:ab
    c:ab
    

    3 findall():在字符串中匹配,如果成功返回match对象,如果失败返回None

    import re
    ret = re.findall('d+','wanghw123ww676')
    print(ret)
    
    输出结果:
    ['123', '676']
    

    4 finditer():在字符串中匹配,如果成功返回match可迭代对象,如果失败返回None

    import re
    ret = re.finditer('d+','wanghw123ww676')
    print(ret)
    for m in ret:
        print(m.group())
    
    输出结果:
    <callable_iterator object at 0x0000029D80957CF8>
    123
    676
    

    5 split():按照匹配的字符串进行分割

    import re
    s1 = 'wanghw123whw456qwe'
    sq = re.split('d+',s1)
    print(sq)
    
    输出结果:
    ['wanghw', 'whw', 'qwe']
    

    6 sub():替换匹配的子字符串,返回替换之后的字符串
    sub方法的第一个参数是正则的规则,第二个参数是要被替换成的字符串,第三个参数是需要被操作的字符串。当然,
    聪明的你肯定想到一个问题:这默认替换的是所有符合规则的字符串呀!我如果想限定替换的次数怎么做呢?
    我们可以指定第四个参数,来达到限定替换次数的作用

    import re
    s1 = 'wanghw123whw456'
    ss = re.subn('d+','HERO',s1)
    print(ss)
    
    s1 = 'wanghw123whw456'
    ss = re.sub('d+','HERO',s1,1)
    print(ss)
    
    输出结果:
    ('wanghwHEROwhwHERO', 2)
    wanghwHEROwhw456
    

    match()和search()的区别:

    • match()函数只检测RE是不是在string的开始位置匹配
    • search()会扫描整个string查找匹配
    • match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

    详见此链接:https://www.cnblogs.com/paulwhw/p/10579914.html

  • 相关阅读:
    激活函数(ReLU, Swish, Maxout)
    损失函数
    md5sum命令行使用注意事项
    Jetson ARM SeetaFace编译
    Linux下的wine生活(QQ/微信/Office)
    人脸识别引擎SeetaFace编译 ubuntu
    Python为8bit深度图像应用color map
    MySQL、MongoDB、Redis数据库Docker镜像制作
    bash的管道符与重定向
    Docker 及 nvidia-docker 使用
  • 原文地址:https://www.cnblogs.com/hghua/p/13396692.html
Copyright © 2011-2022 走看看