美文网首页
Python正则表达式之贪婪匹配与非贪婪匹配

Python正则表达式之贪婪匹配与非贪婪匹配

作者: 松鼠的读书笔记 | 来源:发表于2019-02-11 21:22 被阅读8次

    1. 什么是贪婪匹配:贪婪匹配在匹配字符串时总是尝试匹配尽可能多的字符。

    2. 什么是非贪婪匹配:与贪婪匹配相反,非贪婪匹配在匹配字符串时总是尝试匹配尽可能少的字符。

    1. Python里数量词默认是贪婪模式的,在"*","?","+","{m,n}"后面加上?,可使贪婪模式变成非贪婪模式。

    下面我们用代码说明:

    import re
    
    # 贪婪匹配
    greedy_pattern = re.compile(r'ab.*c')
    greedy_match = greedy_pattern.match('abcaxc')
    print("贪婪匹配结果:" + greedy_match.group())
    
    # 非贪婪匹配
    not_greedy_pattern = re.compile(r'ab.*?c')
    not_greedy_match = not_greedy_pattern.match('abcaxc')
    print("非贪婪匹配结果:" + not_greedy_match.group())
    

    输出:
    贪婪匹配结果:abcaxc
    非贪婪匹配结果:abc


    心中有梦想,眼前有目标
    手中有计划,脚下有行动
    2019 开工大吉!

    相关文章

      网友评论

          本文标题:Python正则表达式之贪婪匹配与非贪婪匹配

          本文链接:https://www.haomeiwen.com/subject/cvdceqtx.html