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
    

      

  • 相关阅读:
    wc
    wbinfo
    wall -- 向所有人的终端发送消息
    w
    vt-is-UTF8
    vmstat
    vimtutor
    vim
    centos7
    Web 在线文件管理器学习笔记与总结(8)删除文件
  • 原文地址:https://www.cnblogs.com/fuGuy/p/8012804.html
Copyright © 2011-2022 走看看