<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,主要是用來區分子序列的,所謂子序列是用()之內的表達式。下面以一段程序為例

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

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

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

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

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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲高清视频在线| 少妇中文字幕乱码亚洲影视| 亚洲AV成人影视在线观看| 7723日本高清完整版免费| 亚洲人成综合在线播放| 91嫩草国产在线观看免费| 亚洲日本久久一区二区va| 在线jlzzjlzz免费播放| 日本成人在线免费观看| 亚洲AV无码一区二区二三区入口| 中文在线免费观看| 亚洲国产精品福利片在线观看| 国精产品一区一区三区免费视频| 婷婷精品国产亚洲AV麻豆不片| 无码A级毛片免费视频内谢| 国产av无码专区亚洲国产精品| 4hu四虎免费影院www| 在线免费观看a级片| 瑟瑟网站免费网站入口| 国内精品久久久久久久亚洲| 中文字幕不卡免费视频| 亚洲黄色高清视频| 日韩成人在线免费视频| 国产久爱免费精品视频| 一本久久综合亚洲鲁鲁五月天| 一级毛片在线完整免费观看| 久久精品国产亚洲AV麻豆王友容| 精品久久8x国产免费观看| 最新亚洲人成网站在线观看| 亚洲国产精品国自产拍AV| 女人被免费视频网站| 中出五十路免费视频| 91亚洲性爱在线视频| 亚洲A∨午夜成人片精品网站| 日本中文字幕免费高清视频| 亚洲日韩中文字幕无码一区| 久久久久国色AV免费看图片| 一级做a爰片性色毛片免费网站| 久久久久久亚洲精品成人| 破了亲妺妺的处免费视频国产| 中国国产高清免费av片|