zoukankan      html  css  js  c++  java
  • 正则贪婪与非贪婪模式简单实现

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

    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
    

      

  • 相关阅读:
    struts2之拦截器
    JavaWeb开发之HttpServletResponse
    JavaWeb开发之Servlet
    HTTP协议详解
    字符串
    数组
    第一个只出现一次的字符
    DDoS的类型及原理
    引用变量&和指针*的区别
    赋值运算符的重载
  • 原文地址:https://www.cnblogs.com/fuGuy/p/8012804.html
Copyright © 2011-2022 走看看