<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1

    正則表達式中的貪婪、惰性和支配量詞

    Posted on 2009-10-30 16:13 landor 閱讀(504) 評論(0)  編輯  收藏 所屬分類: 正則
    正則表達式中有三個量詞:貪婪、惰性、支配,記錄一下我對貪婪和惰性的理解
    1 貪婪:一下子打算匹配整個字符串,如果發現不匹配,就去掉最后一個字符,進行匹配,以此類推。一旦匹配成功之后,并不是馬上返回,而是跳躍到下一個字符的起點,再次開始貪婪的匹配,舉個例子:
        public static void main(String []args) {
            String str
    ="1abbbaabbbaaabbb1234abbbc"
            Pattern p2 
    = Pattern.compile("[^1]*bbb");
            Matcher m2 
    =p2.matcher(str);
            
    while(m2.find()){
                System.out.println(m2.group());
            }
        }
    他的執行過程應該是這樣:
      先找到滿足條件的第一個字符,所以1會被過濾掉,然后進行全局匹配
      abbbaabbbaaabbb1234abbbc  不匹配
      abbbaabbbaaabbb1234abbb   不匹配
      abbbaabbbaaabbb1234abb    不匹配
      

      abbbaabbbaaabbb          匹配
      之后表達式會繼續尋找這個字符串后面的匹配的第一個字符,所以后面的1會被過濾掉,然后再進行全局匹配,即:
      234abbbc   不匹配
      234abbb    匹配
    所以會得到兩個匹配結果  abbbaabbbaaabbb和234abbb

    2 惰性
    從第一個字符開始進行匹配,如果不匹配,那么就在讀入一個字符,進行整體匹配,以此類推

    還是看上面的例子,如果是貪婪的,那么正則是這樣
    [^1]*?bbb,執行過程如下:
      先找到滿足條件的第一個字符,所以1還是被過濾,從a開始,匹配過程如下
      a    不匹配
      ab   不匹配
      abb  不匹配
      abbb 匹配

      繼續從下一個位置開始讀入第一個匹配字符
      a    不匹配
      aa   不匹配
      
    不匹配
      aabbb匹配

     一直進行到最后,所以得到的結果為abbb,aabbb,aaabbb,234abbb

    3 支配
      支配就是對整個字符串進行一次匹配,匹配之后返回
      舉個例子,字符串為bbb,正則表達式為[b]*+,這是一個貪婪的匹配,直接返回bbb
      但是這里有個要注意的地方:如果正則為
    [b]*+b,返回結果是false,是空

    所以雖然
    [b]*+匹配了,但是當再多了一個b的時候,有不滿足要求了,因為他們是全局匹配的
    主站蜘蛛池模板: 久久精品视频免费播放| 国产成人无码精品久久久久免费 | 亚洲精品黄色视频在线观看免费资源| 成人av免费电影| 亚洲色大成网站www永久男同| 一个人在线观看视频免费| 精品丝袜国产自在线拍亚洲| 啦啦啦高清视频在线观看免费 | 久久无码av亚洲精品色午夜| 免费羞羞视频网站| 无码天堂亚洲国产AV| 日本中文一区二区三区亚洲| 久青草国产免费观看| 亚洲日韩国产精品第一页一区| 国产午夜不卡AV免费| 亚洲丝袜美腿视频| 成年免费大片黄在线观看岛国| 亚洲av无码偷拍在线观看| 亚洲成a人片在线观看日本麻豆| 久香草视频在线观看免费| 中文字幕亚洲一区| 亚洲免费电影网站| 欧洲乱码伦视频免费| 亚洲av日韩av无码av| 国产成人免费福利网站| 国产精品美女免费视频观看| 亚洲电影一区二区| 成人性生交视频免费观看| 黄色毛片免费在线观看| 久久精品国产亚洲av四虎| 99无码人妻一区二区三区免费| 亚洲啪AV永久无码精品放毛片| 免费看小12萝裸体视频国产| a毛片在线还看免费网站| 亚洲免费观看在线视频| 亚洲精品国产高清不卡在线| 久久成人无码国产免费播放| 亚洲熟伦熟女专区hd高清| 亚洲综合色婷婷七月丁香| 性短视频在线观看免费不卡流畅| 特黄aa级毛片免费视频播放|