正则表达式的贪婪匹配与非贪婪匹配

  • ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。

  • .*? 表示在整个匹配成功的前提下,使用最少的重复

  • 示例:在使用贪婪匹配 .*? 和 非贪婪匹配的不同结果

    <span class="title">小事 · 班主任教学生谈恋爱</span></a></div></div><div class="wrap"><div class="box"><a href="/story/9711697" class="link-button"><img src="https://pic1.zhimg.com/v2-0de9df8c34f24c619c177f21313b2d98.jpg" class="preview-image"><span class="title">《大明王朝》中,谁能对付得了海瑞?</span>
    
    • 对上述文本如果使用 <span class="title">(.+?)</span>匹配,将会获得两个子串

      [小事 · 班主任教学生谈恋爱, 《大明王朝》中,谁能对付得了海瑞?]
      
    • 对上述文本如果使用 <span class="title"<(.+)</span>匹配,只会获得一个字符串

      [小事 · 班主任教学生谈恋爱</span></a></div></div><div class="wrap"><div class="box"><a href="/story/9711697" class="link-button"><img src="https://pic1.zhimg.com/v2-0de9df8c34f24c619c177f21313b2d98.jpg" class="preview-image"><span class="title">《大明王朝》中,谁能对付得了海瑞?]
      
posted @ 2019-06-27 22:47  soundofcolors  阅读(2001)  评论(0编辑  收藏  举报