青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::

import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class Test {

public static void main(String[] args) {

String str = "<biao><>c<b>";

Pattern pattern;

Matcher matcher;

// 貪婪: 最長匹配 .* : 輸出: <biao><>c<b>

pattern = Pattern.compile("<.*>");

matcher = pattern.matcher(str);

while (matcher.find()) {

System.out.println(matcher.group());

}

// 不知是否非貪婪 .*? : 輸出: <biao>, <>, <b>

pattern = Pattern.compile("<.*?>");

matcher = pattern.matcher(str);

while (matcher.find()) {

System.out.println(matcher.group());

}

// 使用組, 輸出<>里的內容, 輸出: 'biao', ' ', 'b'

// 0組代表整個表達式, 子組從1開始

pattern = Pattern.compile("<(.*?)>");

matcher = pattern.matcher(str);

while (matcher.find()) {

System.out.println(matcher.group(1));

}

}

}

貪婪、勉強和侵占量詞間的不同
  在貪婪、勉強和侵占三個量詞間有著細微的不同。

  貪婪(*, ?, +):讀入整個串,從后往前匹配

  勉強(*?, ??, +?):從前往后匹配

  侵占(*+, ?+, ++):讀入整個串,從前往后匹配,匹配的是整個串
  貪婪量詞之所以稱之為“貪婪的”,這是由于它們強迫匹配器讀入(或者稱之為吃掉)整個輸入的字符串,來優先嘗試第一次匹配,如果第一次嘗試匹配(對于整個輸入的字符串)失敗,匹配器會通過回退整個字符串的一個字符再一次進行嘗試,不斷地進行處理直到找到一個匹配,或者左邊沒有更多的字符來用于回退了。賴于在表達式中使用的量詞,最終它將嘗試地靠著 1 或 0 個字符的匹配。
  但是,勉強量詞采用相反的途徑:從輸入字符串的開始處開始,因此每次勉強地吞噬一個字符來尋找匹配,最終它們會嘗試整個輸入的字符串。
  最后,侵占量詞始終是吞掉整個輸入的字符串,嘗試著一次(僅有一次)匹配。不像貪婪量詞那樣,侵占量詞絕不會回退,即使這樣做是允許全部的匹配成功。
  為了說明一下,看看輸入的字符串是 xfooxxxxxxfoo 時。

Enter your regex: .*foo  // 貪婪量詞
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.

Enter your regex: .*?foo  // 勉強量詞
Enter input string to search: xfooxxxxxxfoo
I found the text "xfoo" starting at index 0 and ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

Enter your regex: .*+foo // 侵占量詞
Enter input string to search: xfooxxxxxxfoo
No match found.
  第一個例子使用貪婪量詞.*,尋找緊跟著字母“f”“o”“o”的“任何東西”零次或者多次。由于量詞是貪婪的,表達式的.*部分第一次“吃掉”整個輸入的字符串。在這一點,全部表達式不能成功地進行匹配,這是由于最后三個字母(“f”“o”“o”)已經被消耗掉了。那么匹配器會慢慢地每次回退一個字母,直到返還的“foo”在最右邊出現,這時匹配成功并且搜索終止。
  然而,第二個例子采用勉強量詞,因此通過首次消耗“什么也沒有”作為開始。由于“foo”并沒有出現在字符串的開始,它被強迫吞掉第一個字母(“x”),在 0 和 4 處觸發了第一個匹配。測試用具會繼續處理,直到輸入的字符串耗盡為止。在 4 和 13 找到了另外一個匹配。
  第三個例子的量詞是侵占,所以在尋找匹配時失敗了。在這種情況下,整個輸入的字符串被.*+消耗了,什么都沒有剩下來滿足表達式末尾的“foo”。
  你可以在想抓取所有的東西,且決不回退的情況下使用侵占量詞,在這種匹配不是立即被發現的情況下,它將會優于等價的貪婪量詞。

posted on 2010-02-05 20:19 逛奔的蝸牛 閱讀(4578) 評論(1)  編輯 收藏 引用 所屬分類: Java

評論

# re: Java:正則匹配的不同情況(貪婪,勉強): greedy, reluctant, possesive 2011-08-03 10:33 張葦
寫的很生動  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美网站在线| 在线亚洲+欧美+日本专区| 91久久国产精品91久久性色| 狠狠色狠狠色综合| 精品动漫3d一区二区三区免费| 国产亚洲激情视频在线| 黄网站色欧美视频| 亚洲国产精品小视频| 亚洲清纯自拍| 亚洲一区欧美二区| 久久国产精品网站| 欧美不卡激情三级在线观看| 亚洲激情亚洲| 99re热这里只有精品免费视频| 亚洲午夜av电影| 久久国产毛片| 欧美日韩激情网| 国产亚洲一本大道中文在线| 亚洲第一精品福利| 亚洲一区三区电影在线观看| 久久美女性网| 夜夜嗨av一区二区三区网页| 久久成人综合视频| 欧美三日本三级三级在线播放| 韩国v欧美v日本v亚洲v| 一区二区电影免费观看| 久久婷婷丁香| 亚洲九九精品| 亚洲精品美女91| 亚洲免费视频观看| 免费在线观看成人av| 国产精品美女久久久免费| 亚洲第一主播视频| 欧美在线视频在线播放完整版免费观看 | 国产精品亚洲网站| 亚洲欧洲一区二区三区久久| 久久黄色网页| 一区二区高清在线| 毛片av中文字幕一区二区| 国产精品尤物福利片在线观看| 亚洲精品一区二区三区四区高清 | 国产日韩欧美视频| 日韩视频专区| 欧美成人自拍视频| 久久久999精品免费| 国产精品一级| 午夜一区二区三区在线观看| 日韩午夜在线观看视频| 欧美成人自拍| 亚洲欧洲日产国产网站| 老鸭窝亚洲一区二区三区| 欧美一区二区三区四区高清 | 一区二区av在线| 亚洲高清在线视频| 欧美91精品| 亚洲乱码国产乱码精品精| 欧美成人午夜免费视在线看片 | 久久一二三国产| 欧美一区午夜精品| 国产日韩在线看片| 久久久久久久久岛国免费| 亚洲已满18点击进入久久| 国产精品久久久久久久免费软件| 中文亚洲欧美| 亚洲香蕉伊综合在人在线视看| 国产精品magnet| 亚洲欧美成人一区二区三区| 亚洲一区欧美激情| 国产日韩欧美综合在线| 久久嫩草精品久久久精品| 久久天天躁狠狠躁夜夜爽蜜月| 永久免费视频成人| 亚洲成人在线视频网站| 欧美精品亚洲精品| 亚洲一区在线免费| 日韩视频不卡| 亚洲一区二区三区在线看 | 国产亚洲精品aa午夜观看| 久久av一区| 久久在线观看视频| 亚洲免费播放| 亚洲一区不卡| 黄网站免费久久| 亚洲日本电影| 国产乱人伦精品一区二区| 久久免费精品日本久久中文字幕| 乱人伦精品视频在线观看| 夜夜狂射影院欧美极品| 亚洲欧美国产精品桃花| 影音先锋亚洲电影| 一区二区免费在线视频| 黄色成人免费网站| 日韩视频在线一区二区| 国产主播一区二区| 91久久精品国产91性色| 国产精品午夜国产小视频| 欧美91视频| 国产片一区二区| 亚洲精品在线免费观看视频| 韩日精品在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 红桃视频一区| 亚洲图中文字幕| 亚洲精品国产精品国自产观看浪潮| 亚洲视频图片小说| 亚洲欧洲三级| 久久精品国产亚洲一区二区| 亚洲图片欧洲图片av| 久久三级视频| 欧美在线一二三四区| 欧美日韩国产小视频| 免费观看久久久4p| 国产欧美日韩三级| 亚洲天堂黄色| 99视频一区二区| 久久九九免费视频| 欧美专区日韩视频| 国产精品免费区二区三区观看| 亚洲国产精品成人一区二区| 国产亚洲美州欧州综合国| 99re热精品| 99精品欧美一区| 免费视频一区二区三区在线观看| 久久国产精品黑丝| 国产精品综合不卡av| 中文国产一区| 亚洲欧美电影院| 欧美日韩中文在线| 亚洲美女黄色| 亚洲天堂免费观看| 欧美日韩另类一区| 亚洲伦理中文字幕| 一区二区三区欧美成人| 欧美日本在线播放| 日韩亚洲在线| 亚洲自拍都市欧美小说| 国产精品久久久久影院亚瑟| 日韩亚洲欧美一区| 亚洲午夜在线| 国产精品久久久一区二区| 欧美特黄一级| 99精品视频免费观看| 这里是久久伊人| 欧美日韩亚洲不卡| 亚洲午夜91| 老司机精品福利视频| 影音先锋亚洲一区| 欧美成人一区二区三区| 亚洲精品乱码久久久久久久久| 中文欧美在线视频| 国产日韩欧美综合| 蜜桃av一区二区在线观看| 亚洲电影一级黄| 在线一区二区三区四区五区| 国产精品国产精品国产专区不蜜| 在线亚洲自拍| 久久久久88色偷偷免费| 曰韩精品一区二区| 欧美国产视频在线| 亚洲天堂av高清| 久热成人在线视频| 一区二区三区视频免费在线观看| 国产精品成人v| 久久久久高清| 亚洲美女网站| 久久欧美肥婆一二区| 日韩亚洲精品在线| 国产日韩在线视频| 欧美久久影院| 欧美一区二区三区四区在线| 欧美激情久久久| 亚洲欧美在线高清| 亚洲精品乱码| 狠狠色狠狠色综合系列| 欧美极品一区| 久久国产福利国产秒拍| 日韩午夜剧场| 欧美黄色一区| 久久久99爱| 校园春色综合网| aa国产精品| 亚洲第一区中文99精品| 国产精品麻豆成人av电影艾秋| 久久人人超碰| 午夜一区在线| 中日韩视频在线观看| 亚洲福利视频三区| 久久国产精彩视频| 亚洲综合色网站| 亚洲乱码精品一二三四区日韩在线 | 亚洲一区二区视频在线观看| 黄色在线成人| 国产美女精品视频免费观看| 欧美韩日亚洲| 久久综合中文| 久久久久久久久久久久久女国产乱| 一区二区三区免费观看| 亚洲人成网站999久久久综合| 久久亚洲国产精品日日av夜夜| 午夜精品久久久久久久99水蜜桃 |