• 正则贪婪与非贪婪模式简单实现


         正则模式根据特殊字符组成,可以在一长串字符串中获取匹配我们想要的数据

    line = "bobby123"
    regex_str = "^b.*3$"#^以b字符开头,3结尾
    if re.match(regex_str, line):
        print("yes")
    else:
        print("no")
    

      贪婪模式想着尽可能多地去匹配满足自身条件的字符

    # =========贪婪匹配====================
    # 从右边开始匹配
    line = "boddddddddddddddddddddddddbby123"
    regex_str = ".*(b.*b).*"  # .*贪婪匹配尽可能多地占用匹配字符
    match_obj = re.match(regex_str, line)
    print(match_obj.group(1)) #bb
    

      非贪婪模式通过加 “?”匹配字符的限制,尽可能少地去匹配满足自身条件的字符,容易满足自身要求

    # =========非贪婪匹配====================
    # 从左边开始匹配
    line = "boddddddddddddddddddddddddbby123"
    regex_str = ".*?(b.*?b).*"  # .*非贪婪匹配尽可能少地占用匹配字符
    match_obj = re.match(regex_str, line)
    print(match_obj.group(1))  # boddddddddddddddddddddddddb
    

      

  • 相关阅读:
    第二阶段冲刺04
    找水王
    第二阶段冲刺03
    第二阶段冲刺02
    第二阶段冲刺01
    学习进度12
    梦断代码阅读笔记07
    第一阶段意见评论
    学习进度11
    求素数p的原根
  • 原文地址:https://www.cnblogs.com/fuGuy/p/8012804.html
Copyright © 2020-2023  润新知