亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAVA中正則表達式的應用(1)

2019-11-18 14:31:34
字體:
來源:轉載
供稿:網友

正則表達式是一種可以用于模式匹配和替換的強有力的工具,一個正則表達式就是由普通的字符(例如字符 a 到 z)以及非凡字符(稱為元字符)組成的文字模式,它描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

正則表達式在字符數據處理中起著非常重要的作用,我們可以用正則表達式完成大部分的數據分析處理工作,如:判定一個串是否是數字、是否是有效的Email地址,從海量的文字資料中提取有價值的數據等等,假如不使用正則表達式,那么實現的程序可能會很長,并且輕易出錯。對這點本人深有體會,面對大量工具書電子檔資料的整理工作,假如不懂得應用正則表達式來處理,那么將是很痛苦的一件事情,反之則將可以輕松地完成,獲得事半功倍的效果。

由于本文目的是要介紹如何在java里運用正則表達式,因此對剛接觸正則表達式的讀者請參考有關資料,在此因篇幅有限不作介紹。

JAVA對正則表達式的支持:

在JDK1.3 或之前的JDK版本中并沒有包含正則表達式庫可供JAVA程序員使用,之前我們一般都在使用第三方提供的正則表達式庫,這些第三方庫中有源代碼開放的,也有需付費購買的,而現時在JDK1.4的測試版中也已經包含有正則表達式庫---java.util.regex。

故此現在我們有很多面向JAVA的正則表達式庫可供選擇,以下我將介紹兩個較具代表性的 Jakarta-ORO和 java.util.regex,首先當然是本人一直在用的 Jakarta-ORO:

Jakarta-ORO正則表達式庫

1.簡介:

Jakarta-ORO是最全面以及優化得最好的正則表達式API之一,Jakarta-ORO庫以前叫做OROMatcher,是由Daniel F. Savarese編寫,后來他將其贈與Jakarta PRoject,讀者可在Apache.org的網站 下載該API包。

許多源代碼開放的正則表達式庫都是支持Perl5兼容的正則表達式語法,Jakarta-ORO正則表達式庫也不例外,他與Perl 5正則表達式完全兼容。

2.對象與其方法:

★PatternCompiler對象:

我們在使用Jakarta-ORO API包時,最先要做的是,創建一個Perl5Compiler類的實例,并把它賦值給PatternCompiler接口對象。 Perl5Compiler是PatternCompiler接口的一個實現,答應你把正則表達式編譯成用來匹配的Pattern對象。

PatternCompiler compiler=new Perl5Compiler();

★Pattern對象:

要把所對應的正則表達式編譯成Pattern對象,需要調用compiler對象的compile()方法,并在調用參數中指定正則表達式。舉個例子,你可以按照下面這種方式編譯正則表達式"s[ahkl]y":

Pattern pattern=null;

try {

pattern=compiler.compile("s[ahkl]y ");

} catch (MalformedPatternException e) {

e.printStackTrace();

}

在默認的情況下,編譯器會創建一個對大小寫敏感的模式(pattern)。因此,上面代碼編譯得到的模式只匹配"say"、"shy"、 "sky"和"sly",但不匹配"Say"和"skY"。要創建一個大小寫不敏感的模式,你應該在調用編譯器的時候指定一個額外的參數:

pattern=compiler.compile("s[ahkl]y",Perl5Compiler.CASE_INSENSITIVE_MASK);

Pattern對象創建好之后,就可以通過PatternMatcher類用該Pattern對象進行模式匹配。

★PatternMatcher對象:

PatternMatcher 對象依據Pattern對象和字符串展開匹配檢查。你要實例化一個Perl5Matcher類并把結果賦值給PatternMatcher接口。 Perl5Matcher類是PatternMatcher接口的一個實現,它根據Perl 5正則表達式語法進行模式匹配:

PatternMatcher matcher=new Perl5Matcher();

PatternMatcher對象提供了多個方法進行匹配操作,這些方法的第一個參數都是需要根據正則表達式進行匹配的字符串:

1. boolean matches(String input, Pattern pattern):當要求輸入的字符串input和正則表達式pattern精確匹配時使用該方法。也就是說當正則表達式完整地描述輸入字符串時返回真值。

2. boolean matchesPrefix(String input, Pattern pattern):要求正則表達式匹配輸入字符串起始部分時使用該方法。也就是說當輸入字符串的起始部分與正則表達式匹配時返回真值。

3. boolean contains(String input, Pattern pattern):當正則表達式要匹配輸入字符串的一部分時使用該方法。當正則表達式為輸入字符串的子串時返回真值。

但以上三種方法只會查找輸入字符串中匹配正則表達式的第一個對象,假如當字符串可能有多個子串匹配給定的正則表達式時,那么你就可以在調用上面三個方法時用 PatternMatcherInput對象作為參數替代String對象,這樣就可以從字符串中最后一次匹配的位置開始繼續進行匹配,這樣就方便的多了。

用PatternMatcherInput對象作為參數替代String時,上述三個方法的語法如下:

1. boolean matches(PatternMatcherInput input, Pattern pattern)

2. boolean matchesPrefix(PatternMatcherInput input, Pattern pattern)

3. boolean contains(PatternMatcherInput input, Pattern pattern)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
538国产精品一区二区在线| 日韩欧美在线视频免费观看| 亚洲福利影片在线| 97精品视频在线| 一区二区三区精品99久久| 色综合天天综合网国产成人网| 国产在线拍揄自揄视频不卡99| 国产精品免费久久久久久| 国产精品一区二区久久国产| 最近2019中文字幕大全第二页| 欧美激情区在线播放| 北条麻妃久久精品| 精品国产一区二区三区四区在线观看| 中文字幕国产精品久久| 亚洲丝袜av一区| 欧美激情在线观看视频| 亚洲欧美国产一区二区三区| 亚洲人成网站777色婷婷| 欧美在线性爱视频| 欧美中文字幕在线观看| 中文字幕免费精品一区高清| 亚洲中国色老太| 亚洲精品久久久久| 91国偷自产一区二区三区的观看方式| 日韩中文av在线| 国产亚洲视频中文字幕视频| 久久亚洲精品小早川怜子66| 亚洲欧美中文日韩v在线观看| 久久久久久久久久久久av| 欧美裸体男粗大视频在线观看| 美乳少妇欧美精品| 91久久精品美女高潮| 黄网站色欧美视频| 欧美老女人性生活| 91免费观看网站| 亚洲国产中文字幕久久网| 三级精品视频久久久久| 久久综合五月天| 欧美精品videossex性护士| 日韩电影在线观看永久视频免费网站| 国产精品1234| 伊人伊成久久人综合网站| 91香蕉嫩草神马影院在线观看| 海角国产乱辈乱精品视频| 亚洲午夜女主播在线直播| 欧洲中文字幕国产精品| 久久久久久亚洲| 欧美一区二粉嫩精品国产一线天| 中文字幕亚洲一区| 精品国产拍在线观看| 久久九九免费视频| 日韩在线观看精品| 一本大道久久加勒比香蕉| 亚洲欧美国产一本综合首页| 九九热精品视频| 国产高清在线不卡| 91在线免费看网站| 日韩视频在线免费| 亚洲四色影视在线观看| 亚洲精品狠狠操| 97热精品视频官网| 亚洲精品视频网上网址在线观看| 97精品一区二区视频在线观看| 欧美激情乱人伦| 欧洲精品毛片网站| 懂色av一区二区三区| 日韩中文字幕国产精品| 国产午夜精品久久久| 欧美日韩爱爱视频| 国产视频福利一区| 热久久视久久精品18亚洲精品| 国产一区二区三区精品久久久| 亚洲经典中文字幕| 7777kkkk成人观看| 亚洲午夜国产成人av电影男同| 最新亚洲国产精品| 国产97免费视| 国产丝袜一区视频在线观看| 日韩中文在线视频| 在线成人免费网站| 国产精品一香蕉国产线看观看| 欧美激情免费观看| 欧美视频在线观看 亚洲欧| 欧洲美女7788成人免费视频| 日韩精品在线第一页| 国产精品丝袜白浆摸在线| 中文字幕不卡在线视频极品| 亚洲第一视频在线观看| 亚洲精品日韩激情在线电影| 亚洲精品国产拍免费91在线| xxxx性欧美| 91精品视频播放| 欧美一级在线亚洲天堂| 色悠久久久久综合先锋影音下载| 国产自摸综合网| 国产精品久久久久久久9999| 国外成人免费在线播放| 日韩av最新在线观看| 国产精品午夜国产小视频| 91精品国产成人www| 97在线免费观看视频| 91中文在线观看| 91精品国产网站| 亚洲综合色av| 色悠悠久久88| 国产精品扒开腿做爽爽爽的视频| 日韩色av导航| 欧洲日本亚洲国产区| 国产精品高潮在线| 国产啪精品视频| 综合网中文字幕| 亚洲欧美激情精品一区二区| 亚洲国产免费av| 欧美大胆在线视频| 亚洲综合日韩中文字幕v在线| 国产精品国产福利国产秒拍| 九九视频这里只有精品| 欧美激情手机在线视频| 亚洲国产天堂网精品网站| 国产日韩精品电影| 亚洲第一av网| 欧美性xxxx极品hd欧美风情| 欧美成人黄色小视频| 久久精品最新地址| 国产精品影片在线观看| 欧美成人午夜激情视频| 成人深夜直播免费观看| 在线观看国产成人av片| 国语自产偷拍精品视频偷| 欧美成人午夜激情视频| 琪琪亚洲精品午夜在线| 日韩av一区二区在线观看| 伊人亚洲福利一区二区三区| 亚洲人午夜色婷婷| 日韩av综合网站| 日韩视频在线免费| 亚洲免费电影在线观看| 7m精品福利视频导航| 亚洲激情自拍图| 中文字幕不卡在线视频极品| 亚洲国产精品成人精品| 成人xxxx视频| 欧美俄罗斯性视频| 一本大道香蕉久在线播放29| 欧美日韩国产91| 国产九九精品视频| 国产精品九九久久久久久久| 不卡伊人av在线播放| 日韩av在线免播放器| 海角国产乱辈乱精品视频| 欧美中文字幕视频| 国产精品成熟老女人| 亚洲国产精品专区久久| 萌白酱国产一区二区| 亚洲精品99久久久久中文字幕| 亚洲国产精品va在线| 美女视频黄免费的亚洲男人天堂| 日韩在线视频国产| 亚洲国产精品系列| 日韩欧美第一页| 91高潮精品免费porn| 另类色图亚洲色图| 国产精品视频自在线| 亚洲护士老师的毛茸茸最新章节|