zoukankan      html  css  js  c++  java
  • 正则表达式中贪婪与懒惰匹配

          当正则表达式中包含能接受重复的限定符(指定数量的代码,例如*,{5,12}等)时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。如对于一段文本

    This is the first line.
    This is the second line.
    This is the third line.

          用^[\w\W]+$ 匹配会得到整个文本段,由于Regex引擎是贪婪的,它会尽可能的匹配多的选项,知道匹配完。

         有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。如同样用上面一段文本,用^[\w\W]+?$模式进行匹配,匹配到第一个马上返回,不再继续进行查找,所以得到结果:

         This is the first line.

         

  • 相关阅读:
    CSP-S2019 退役记
    近期考试反思
    有关近期情况的总结与反思
    我好难啊
    AFO
    智障错误集锦
    关于博客密码【asd
    关于csp-s的各种问题整理
    CSP-S 临别赠言( 二 )
    分层图最短路 乱搞分享
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2080029.html
Copyright © 2011-2022 走看看