zoukankan      html  css  js  c++  java
  • re正则表达式2

    1.“字符*” 匹配*前面的字符0次或者多次

    注意:是匹配*前一个字符,只能是*前一个字符多次打印出来。*前面其他的字符相当于前缀会打印出来,但是不会再匹配。

    *前一个字符前面的其他字符里的首字符先遇到会直接停下来,不去寻找其他的字符。

    print(re.search("rt*","rrtbbbbrbrbreyrtrr"))
    # <_sre.SRE_Match object; span=(0, 1), match='r'>  
    print(re.findall("r*","tyrrreyrtrr"))
    print(re.search("r*","ureyrtrr"))
    
    # ['', '', 'rrr', '', '', 'r', '', 'rr', '']
    # <_sre.SRE_Match object; span=(0, 0), match=''>
    
    print(re.search("r*","rrrreyrtrr"))
    
    # <_sre.SRE_Match object; span=(0, 4), match='rrrr'>   
    

    2.“+”  匹配一个或多个字符。

    print(re.search(".+","rbbbbrbrbreyrtrr"))        #可以利用·+输出所有字符
    print(re.search(".","rbbbbrbrbreyrtrr"))
    print(re.search("b+","rbbbbrbrbreyrtrr"))
    print(re.search("ab+","rbbabbrbrbreyrtrr"))
    
    # <_sre.SRE_Match object; span=(0, 16), match='rbbbbrbrbreyrtrr'>
    # <_sre.SRE_Match object; span=(0, 1), match='r'>
    # <_sre.SRE_Match object; span=(1, 5), match='bbbb'>
    # <_sre.SRE_Match object; span=(3, 6), match='abb'>
    

    当 +前面有多个字符时和 *区别,如下

    print(re.search("ab+","rbbaaaabbrbrbreyrtrr"))    #一直找到ab
    print(re.search("ab*","rbbaaaabbrbrbreyrtrr"))    #遇a即停
    
    # <_sre.SRE_Match object; span=(6, 9), match='abb'>
    # <_sre.SRE_Match object; span=(3, 4), match='a'>
    

    3.“?”  匹配一次或0次

    print(re.search("ab?","abbbaaaabbrbrbreyrtrr"))
    # <_sre.SRE_Match object; span=(0, 2), match='ab'>
    

    4.“字符{m}”  匹配前面的字符m次

    print(re.search("[a-z]{2}","abbbaaaabbrbrbreyrtrr"))
    # <_sre.SRE_Match object; span=(0, 2), match='ab'>
    

    5.“{n-m}”  匹配前面的字符n-m次

    print(re.search("[a-b]{2,5}","tabbvbtaaaabbrbrbreyrtrr"))
    # <_sre.SRE_Match object; span=(1, 4), match='abb'>
    

    6.“|”  或,满足其中一个即可匹配。

    print(re.search("[a|A]lex","alex"))
    print(re.search("[a|A]lex","Alex"))
    
    # <_sre.SRE_Match object; span=(0, 4), match='alex'>
    # <_sre.SRE_Match object; span=(0, 4), match='Alex'>
    
    print(re.search("[a|A]{2}","aalaex"))   #输出aa
    

      

      

      

      

      

  • 相关阅读:
    软件开发与定制报价
    C# HttpHelper 1.0正式版发布
    C#仿QQ皮肤-TextBox 控件实现
    HTML5学习笔记第一节(智能提示和视频音频标签)
    C#多线程|匿名委托传参数|测试您的网站能承受的压力|附源代码升级版
    JavascriptHelp
    我的个人博客论坛版建立啦!
    Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解
    Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
    Webcast 系列课程 NET最全,最权威的学习资源
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/8893682.html
Copyright © 2011-2022 走看看