python 正则断言

 

  1.  前项肯定  ?<=

    前面必须是“abc”才能匹配后面写的内容
    
    import re
    
    re.search(r”(?<=abc)\d+”,”abc123deb”).group()

     

  2. 后项肯定  ?=

    后面必须是“abc”才能匹配前面写的内容
    
    import re
    
    re.search(r”(\d+(?=abc))”,”xbc123abc”).group()
     

     

  3.  组合匹配

    前面必须是”xbc”后面必须是“abc”才能匹配之间写的内容
    
    import re
    
    re.search(r”(?<=abc)(\d+(?=abc))”,”xbc123abc”).group()

     

  4. 前项否定  ?<!

    前面不是”xbc”才能匹配后面写的内容
    
    import re
    
    re.search(r”(?<!xbc)\d+”,”abc123abc”).group()
    
    #限制贪婪
    
    re.search(r”(?<!xbc)\d+?”,”abc123abc”).group()

     

  5. 后项否定  ?!

    后面不是”xbc”才能匹配后面写的内容
    
    import re
    re.search(r”\d+(?!xbc)”,”123abc”).group()
    re.search(r”\d+(?!xbc)”,”123xbc”).group()

     \b#表示边界

    import re
    re.search(r”\babc\b”,”abc”)#有结果
    re.search(r”\babc\b”,”xabcdd”)#无结果

     

 

 

posted on 2021-03-30 17:22  闹不机米  阅读(198)  评论(0编辑  收藏  举报

导航