一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java正則之貪婪匹配、惰性匹配

Java正則之貪婪匹配、惰性匹配

2019-12-13 10:55hebedich JAVA教程

這篇文章主要介紹了Java正則之貪婪匹配、惰性匹配的相關(guān)資料,需要的朋友可以參考下

貪婪量詞:

先看整個(gè)字符串是不是一個(gè)匹配。如果沒(méi)有發(fā)現(xiàn)匹配,它去掉最后字符串中的最后一個(gè)字符,并再次嘗試。如果還是沒(méi)有發(fā)現(xiàn)匹配,那么    再次去掉最后一個(gè)字符串,這個(gè)過(guò)程會(huì)一直重復(fù)直到發(fā)現(xiàn)一個(gè)匹配或者字符串不剩任何字符。簡(jiǎn)單量詞都是貪婪量詞。

惰性量詞:

先看字符串中的第一個(gè)字母是不是一個(gè)匹配,如果單獨(dú)著一個(gè)字符還不夠,就讀入下一個(gè)字符,組成兩個(gè)字符的字符串。如果還沒(méi)有發(fā)現(xiàn)匹配,惰性量詞繼續(xù)從字符串中添加字符直到發(fā)現(xiàn)一個(gè)匹配或者整個(gè)字符串都檢查過(guò)也沒(méi)有匹配。惰性量詞和貪婪量詞的工作方式恰好相反。

支配量詞:

只嘗試匹配整個(gè)字符串。如果整個(gè)字符串不能產(chǎn)生匹配,不做進(jìn)一步嘗試。

    貪婪量詞   惰性量詞    支配量詞                      描述
    -------------------------------------------------------------------------------------
      ?             ??             ?+                      可以出現(xiàn)0次或1次,但至多出現(xiàn)1次
      *             *?            *+                      可以出現(xiàn)任意次,也可以不出現(xiàn)
      +             +?            ++                      出現(xiàn)1次或多次,但至少出現(xiàn)1次
      {n}        {n}?           {n}+                   一定出現(xiàn)n次
      {n,m}    {n,m}?       {n,m}+               至少出現(xiàn)n次,但至多不能超過(guò)m次
      {n,}       {n,}?          {n,}+                 可以出現(xiàn)任意次,但至少出現(xiàn)n次
    例如:我們要從字符串a(chǎn)bbbaabbbaaabbb1234中獲得abbb,aabbb,aaabbb的匹配

    1、貪婪量詞

 

復(fù)制代碼代碼如下:

       var regexp = /.*bbb/g;
        var a = str.match(regexp);
        alert(a.length);   //output:1
        alert(a[0]);       //output:abbbaabbbaaabbb

 

    貪婪量詞的工作過(guò)程可以這樣表示:
      a)abbbaabbbaaabbb1234
      b)abbbaabbbaaabbb123
      c)abbbaabbbaaabbb12
      d)abbbaabbbaaabbb1
      e)abbbaabbbaaabbb //true
    可以看到,貪婪量詞在取得一次匹配后就會(huì)停止工作,雖然我們加了'g'(全局匹配)

    2、惰性量詞

 

復(fù)制代碼代碼如下:

        var regexp = /.*?bbb/g;
        var a = str.match(regexp);
        alert(a.length);   //output:3
        alert(a[0]);       //output:abbb
        alert(a[1]);       //output:aabbb
        alert(a[2]);       //output:aaabbb

 

    惰性量詞的工作過(guò)程可以這樣表示:
      a)a
      b)ab
      c)abb
      d)abbb //保存結(jié)果,并從下一個(gè)位置重新開(kāi)始
  
      e)a 
      f)aa 
      g)aab
      h)aabb
      j)aabbb //保存結(jié)果,并從下一個(gè)位置重新開(kāi)始
  
      e)a
      e)aa
      e)aaa
      e)aaab 
      e)aaabb 
      e)aaabbb  //保存結(jié)果,并從下一個(gè)位置重新開(kāi)始
    由于JS是不支持支配量詞的,所以支配量詞我們只能用JAVA來(lái)演示:

 

復(fù)制代碼代碼如下:

        String string = "abbbaabbbaaabbb1234";
        Pattern p = Pattern.compile(".*+bbb");
        Matcher m = p.matcher(string);
        System.out.println(m.find());   //output:false

 

    因?yàn)橹淞吭~采用一刀切的匹配方式,如:
    a)abbbaabbbaaabbb1234 //false

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡,能夠?qū)Υ蠹沂炀氄莆誮ava正則匹配有所幫助。請(qǐng)您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本深夜影院 | 草逼视频网址 | 欧美日韩国产中文字幕 | 性福演算法 | tube69中国露脸 | 日韩妹妹 | 国产欧美又粗又猛又爽老 | 亚洲精品免费视频 | 国产极品麻豆91在线 | 美女主播免费观看 | 扒开双腿羞辱调教play视频 | 四虎一影院区永久精品 | 99热在线国产 | 日韩精品成人a在线观看 | 小莹的性荡生活45章 | 免费二级毛片免费完整视频 | 欧美色图日韩 | 四虎精品永久在线网址 | 美女撒尿部位无遮挡 | 精品女同一区二区三区免费站 | 国产伦精一区二区三区视频 | 婷婷麻豆 | 无码专区aaaaaa免费视频 | 91免费精品国自产拍在线可以看 | 1717she精品视频在线观看 | 亚洲黄色成人 | 成人精品一区二区三区 | 国产成人久久精品一区二区三区 | 亚洲精品色图 | 色偷偷亚洲男人 | 亚洲午夜视频 | 国产精品亚欧美一区二区三区 | 欧美5g影院| 免费看一区二区三区 | 含羞草传媒一天免费看下 | 国产综合成人亚洲区 | 亚洲精品国产精品精 | 四虎影院在线免费观看视频 | 亚洲小视频网站 | 乌克兰18sex性hd | 暖暖 免费 高清 日本 在线 |