知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    正则表达式中.*?

    作者:佳明妈 来源:web前端开发 2016-10-12 人气:
    正则表达式中.*?,其中 ? 表示懒惰模式,贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
    正则表达式中.*?,其中 ? 表示懒惰模式,贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
    
    ?必须跟在*或者+后边用
    如:<img src="test.jpg" width="60px" height="80px"/>
    如果用正则匹配src中内容非懒惰模式匹配
    src=".*"
    匹配结果是:src="test.jpg" width="60px" height="80px"
    意思是从="往后匹配,直到最后一个"匹配结束
    
    懒惰模式正则:
    src=".*?"
    结果:src="test.jpg"
    因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。
    
    .表示除
    之外的任意字符
    *表示匹配0-无穷
    +表示匹配1-无穷
    
    

    
    贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
    
    
    
    string pattern1 = @"a.*c";   // greedy match 
    Regex regex = new Regex(pattern1);
    regex.Match("abcabc"); // return "abcabc"

    非贪婪匹配:在满足匹配时,匹配尽可能短的字符串,使用?来表示非贪婪匹配

    string pattern1 = @"a.*?c";   // non-greedy match 
    Regex regex = new Regex(pattern1);
    regex.Match("abcabc"); // return "abc"

    几个常用的非贪婪匹配Pattern

    *? 重复任意次,但尽可能少重复
    +? 重复1次或更多次,但尽可能少重复
    ?? 重复0次或1次,但尽可能少重复
    {n,m}? 重复n到m次,但尽可能少重复
    {n,}? 重复n次以上,但尽可能少重复
    ↓ 查看全文

    正则表达式中.*?由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    正则表达式中.*?-最新评论