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

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

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

    隨筆-16  評論-54  文章-0  trackbacks-0

    ?? jdk提供的正則表達式是非常強大的,只要用過正則表達式的程序員應該是為其功能嘆為觀止。不過,正則表達式中的一個group概念相信應該不多人熟悉。

    ??? 正則表達式中的group,主要是用來區(qū)分子序列的,所謂子序列是用()之內(nèi)的表達式。下面以一段程序為例

    ????????String?regex?=?"\\$\\{(I)(love)(java)\\}";
    ????????System.out.println(Pattern.compile(regex).matcher("${Ilovejava}P)").groupCount());

    ?運行上面的代碼段,結(jié)果為:3
    ?其中(I)為一個組, (love)為一個組,(java)為一個組。

    ??
    ? 也許有人覺得這只是一個小功能,但是正則表達式的group,還有一個更加強大的地方就是在String.replaceAll方法中。
    ? public StringreplaceAll(String?regex,
    ???????????????????????? String?replacement)

    ?其中第一個參數(shù)當然是政則表達式,第二個一般是普通的文本;但是第二個參數(shù)可以應用group的地方,這個功能用在一些場合是非常方便的。
    ??????比如,下面這個例子? <driverClass>${driverClass}</driverClass>,要將${}去掉,即將這個例子替換成<driverClass>driverClass</driverClass>,可以用下面的代碼來替換。例如
    ????????String?text?=?"<driverClass>${driverClass}</driverClass>";
    ????????String?result?=?replaceStr(text,"\\$\\{(driverClass)\\}","$1");
    ????????System.out.println("result?is:"+result);

    ?? 運行結(jié)果:result is:<driverClass>driverClass</driverClass>
    ? 從上面可以看出,$1就是正則表達式中匹配的第一個序列,同樣$2...表示第幾個序列。如果$index中的index超出了表達式中子序列的個數(shù)的話,將拋出異常信息。 $0表示整個正則表達式。
    posted on 2006-08-15 15:30 jspark 閱讀(495) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产国拍精品亚洲AV片| 国产一区二区三区免费在线观看 | 精品一区二区三区免费观看 | 日日狠狠久久偷偷色综合免费 | 亚洲人成电影在线观看青青| 特级无码毛片免费视频尤物| 亚洲尹人香蕉网在线视颅| 少妇太爽了在线观看免费视频| 亚洲成人午夜在线| 最近中文字幕大全免费视频| 亚洲精品美女久久久久| 91在线视频免费91| 色九月亚洲综合网| 国产成人A亚洲精V品无码| 很黄很污的网站免费| 4444亚洲国产成人精品| 免费h片在线观看网址最新| 亚洲经典千人经典日产| 免费**毛片在线播放直播| 伊人免费在线观看| 亚洲天堂一区二区三区| 国产免费人成在线视频| 美女网站在线观看视频免费的 | 四虎永久在线精品视频免费观看| 免费人成视频在线播放| 国产亚洲精AA在线观看SEE| 99视频免费观看| 亚洲成AV人片高潮喷水| 久久久青草青青国产亚洲免观| 午夜无码A级毛片免费视频| 国产精品亚洲一区二区麻豆| 少妇亚洲免费精品| 99久久免费看国产精品| 亚洲国产欧洲综合997久久| 中文字幕亚洲乱码熟女一区二区| 99热在线精品免费播放6| 亚洲国产精品嫩草影院| 亚洲免费观看视频| 性xxxx视频播放免费| 国产精品偷伦视频观看免费| 亚洲午夜无码久久久久软件|