資源描述:
《java正則表達(dá)式功能及應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Java正則表達(dá)式功能及應(yīng)用自從jdkl.4推出java.util.regex包,就為我們提供了很好的Java正則表達(dá)式應(yīng)用平臺(tái),因?yàn)镴ava正則表達(dá)式是一個(gè)很龐雜的體系。正則表達(dá)式,就是用某種模式去匹配一類字符串的一個(gè)公式,正則表達(dá)式由一些普通字符和一些元字符(metacharacters)組成。普通字符包括大小寫的字母和數(shù)字,而元字符則具有特殊的含義,不管是.Net平臺(tái)還是Java平臺(tái),正則表達(dá)式表達(dá)的意思都是一樣的,下面我們主要分析Java正則表達(dá)式中的功能和具體應(yīng)用,希望文章對(duì)您有所幫助,僅供參考。自從jd
2、kl.4推出java.util.regex包,就為我們提供了很好的Java正則表達(dá)式應(yīng)用平臺(tái),因?yàn)镴ava正則表達(dá)式是一個(gè)很龐雜的體系。\反斜杠t間隔Cu0009')換行CXuOOOA1)r回車('u000D')d數(shù)字等價(jià)于[09D非數(shù)字等價(jià)于[A0-9]s空白符號(hào)[txOBfr]S非空白符號(hào)[AtxOBfr]w單獨(dú)字符[a-zA-Z_0-9]W非單獨(dú)字符[Aa-zA-Z_0-9]f換頁符eEscapeb一個(gè)單詞的邊界B一個(gè)非單詞的邊界G前一個(gè)匹配的結(jié)束八
3、為限制開頭Ajava條件限制為以Java為開頭字符$為限制結(jié)尾java$條件限制為以java為結(jié)尾字符?條件限制除以外任意一個(gè)單獨(dú)字符java..條件限制為java后除換行外任意兩個(gè)字符加入特定限制條件rnj[a-z]條件限制在小寫atoz范圍中一個(gè)字符[A-Z]條件限制在大寫AtoZ范圍屮一個(gè)字符[a-zA-Z]條件限制在小寫atoz或大寫AtoZ范圍中一個(gè)字符[0-9]條件限制在小寫Oto9范圍屮一個(gè)字符[0-9a-z]條件限制在小寫0to9或atoz范圍中一個(gè)字符[0-9[a-z]]條件限制在小寫0to9
4、或atoz范圍中一個(gè)字符(交集)[]中加入八后加再次限制條件r(A]j[Aa-z]條件限制在非小寫atoz范圍中一個(gè)字符LA?Z]條件限制在非大寫AtoZ范圍中一個(gè)字符[Aa-zA-Z]條件限制在非小寫atoz或大寫AtoZ范圍中一個(gè)字符[A0-9]條件限制在非小寫Oto9范圍中一個(gè)字符[A0-9a-z]條件限制在非小寫0to9或atoz范圍中一個(gè)字符[A0-9[a-z]]條件限制在非小寫0to9或atoz范圍中一個(gè)字符(交集)在限制條件為特定字符出現(xiàn)0次以上時(shí),可以使用嚴(yán)」J*0個(gè)以上J.*0個(gè)以上任意字符J.*
5、DJ與D之間0個(gè)以上任意字符在限制條件為特定字符出現(xiàn)1次以上吋,可以使用「+」J+1個(gè)以上J.+1個(gè)以上任意字符J.+DJ與DZ間1個(gè)以上任意字符在限制條件為特定字符出現(xiàn)有0或1次以上時(shí),可以使用「?」JA?J或者JA出現(xiàn)限制為連續(xù)出現(xiàn)指定次數(shù)字符「{a}」J⑵JJJ⑶JJJ文字a個(gè)以上,并且r{az}JJ{3,}JJJJJJJ,JJJJJ,???(3次以上J并存)文字個(gè)以上,b個(gè)以下r{azb}JJ{3,5}JJJ或JJJJ或JJJJJ兩者取一ruJ
6、AJ或AJava
7、HelloJava或Hellor()j中規(guī)定
8、一個(gè)組合類型比如,我查詢index中間的數(shù)據(jù),可寫作(.+?)在使用Pattern.compile函數(shù)時(shí),可以加入控制Java正則表達(dá)式的匹配行為的參數(shù):PatternPattern.compile(Stringregex,intflag)flag的収值范圍如下:Pattern.CANON_EQ為且僅為兩個(gè)字符的"正規(guī)分解(canonicaldecomposition)"都完全相同的情況下,才認(rèn)定匹配。
9、比如用了這個(gè)標(biāo)志之后,表達(dá)式?,auO3OA-會(huì)匹配7。默認(rèn)情況下,不考慮"規(guī)范相等性(canonicalequivalence)'^Pattern.CASEJNSENSITIVE(?i)默認(rèn)情況下,大小寫不明感的匹配只適用于US-ASCII字符集。這個(gè)標(biāo)志能讓表達(dá)式忽略大小寫進(jìn)行匹配。要想對(duì)Unicode字符進(jìn)行大小不明感的匹配,只要將UNICODE_CASE與這個(gè)標(biāo)志合起來就行了。Pattern.COMMENTS(?x)在這種模式下,匹配時(shí)會(huì)忽略Java正則表達(dá)式里的空格字符(譯者注:不是指表達(dá)式里的n\s
10、%而是指表達(dá)式里的空格,tab,回車之類)。注釋從#開始,一直到這行結(jié)朿??梢酝ㄟ^嵌入式的標(biāo)志來啟用Unix行模式。Pattern.DOTALL(?s)在這種模式下,表達(dá)式T可以匹配任意字符,包括表示一行的結(jié)束符。默認(rèn)情況下,表達(dá)式T不匹配行的結(jié)束符。Pattern.MULTILINE(?m)在這種模式下,W和$分別匹配一行的開始和結(jié)束。此外,穴仍然匹配字符