馬士兵正則表達(dá)式筆記

馬士兵正則表達(dá)式筆記

ID:38477315

大?。?6.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-06-13

馬士兵正則表達(dá)式筆記_第1頁(yè)
馬士兵正則表達(dá)式筆記_第2頁(yè)
馬士兵正則表達(dá)式筆記_第3頁(yè)
馬士兵正則表達(dá)式筆記_第4頁(yè)
馬士兵正則表達(dá)式筆記_第5頁(yè)
資源描述:

《馬士兵正則表達(dá)式筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、Java正則表達(dá)式(一)關(guān)鍵字:javaregex,regularexpression正則表達(dá)式在處理文本方面用處非常大,最早像在Perl和awk語(yǔ)言中,提供了這種機(jī)制,Java在Java2中也增加了正則表達(dá)式這個(gè)包java.util.regex。這個(gè)包為用戶使用正則表達(dá)式,提供了易用而全面的支持。我的研究方向是web挖掘。從網(wǎng)頁(yè)中提取內(nèi)容,處理文本,當(dāng)然需要正則表達(dá)式這個(gè)強(qiáng)大的工具了。一、首先我們看一下怎么使用正則表達(dá)式的一個(gè)例子:AMatcherexaminestheresultsofapplyingapattern.我們希望從這句話中找到所有開(kāi)頭為a的單詞。當(dāng)然

2、這只是一個(gè)簡(jiǎn)單的例子,你可以使用String提供的split方法,得到單詞數(shù)組,然后遍歷各個(gè)單詞看是否是否開(kāi)頭為a我們現(xiàn)在看看怎么使用正則表達(dá)式來(lái)處理這個(gè)問(wèn)題:Java代碼1.import?java.util.regex.*;??2.??3.public?class?FindA{??4.??public?static?void?main(String?args[])??5.??throws?Exception{??6.??7.????String?candidate?=??8.?????"A?Matcher?examines?the?results?of?applyi

3、ng?a?pattern.";??9.????String?regex?=?"\ba\w*\b";??10.????Pattern?p?=?Pattern.compile(regex);??11.????Matcher?m?=?p.matcher(candidate);??12.????String?val?=?null;??13.????System.out.println("INPUT:?"?+?candidate);??14.????System.out.println("REGEX:?"?+?regex?+"r");??15.????while?(

4、m.find()){??16.??????val?=?m.group();??17.??????System.out.println("MATCH:?"?+?val);??18.????}??19.????if?(val?==?null)?{??20.??????System.out.println("NO?MATCHES:?");??21.????}??22.??}??23.}??importjava.util.regex.*;publicclassFindA{publicstaticvoidmain(Stringargs[])throwsException{Str

5、ingcandidate="AMatcherexaminestheresultsofapplyingapattern.";Stringregex="\ba\w*\b";Patternp=Pattern.compile(regex);Matcherm=p.matcher(candidate);Stringval=null;System.out.println("INPUT:"+candidate);System.out.println("REGEX:"+regex+"r");while(m.find()){val=m.group();System.out.p

6、rintln("MATCH:"+val);}if(val==null){System.out.println("NOMATCHES:");}}}從這個(gè)例子我們可以看到正則表達(dá)式涉及到的兩個(gè)類Matcher和Pattern,我們以后會(huì)專門(mén)討論著連個(gè)類。現(xiàn)在主要看看使用正則表達(dá)式的流程:首先使用 Pattern的一個(gè)靜態(tài)的方法compile來(lái)創(chuàng)建Pattern對(duì)象,Java代碼1.Pattern?p?=?Pattern.compile(regex);??Patternp=Pattern.compile(regex);然后調(diào)用Pattern的方法matcherJava代碼1

7、.Matcher?m?=?p.matcher(candidate);??Matcherm=p.matcher(candidate);得到了Matcher對(duì)象,Matcher對(duì)象保存了許多匹配信息,然后可以通過(guò)find()方法查找匹配的部分,如果有匹配的部分,返回真,使用m.group方法得到匹配的各組值,否則find返回false.當(dāng)然這只是一般的過(guò)程,還有許多更細(xì)的方法,在以后會(huì)陸續(xù)的總結(jié),下面我們看一下Java代碼1.String?regex?=?"\ba\w*\b";??Stringregex="\ba\w*\b";這個(gè)就是一個(gè)正則

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。