Java中怎么用正則表達(dá)式-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Java中怎么用正則表達(dá)式,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為高坪企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),高坪網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

學(xué)習(xí)正則表達(dá)式,用Jdk1.4后的java.util.regex

模式:

我們來看一些更常用的表達(dá)式的種類

文字(Literal):表達(dá)式內(nèi)任何不具有特殊意義的字符都被看作是一個(gè)文字,并與自身匹配。

量詞(Quantifier):某些字符或表達(dá)式,它們被用來計(jì)算一個(gè)文字或分組可以在字符序列中出現(xiàn)的次

數(shù),以便該序列與表達(dá)式匹配。分組是由圓括號內(nèi)的一組字符指定的。
? 表示出現(xiàn)一次或根本不出現(xiàn)
* 表示出現(xiàn)零次或一次以上(含一次)
+ 表示出現(xiàn)一次或多次

字符類(Character class):一個(gè)字符類就是方括號內(nèi)的一個(gè)字符集,其中,匹配可以是括號內(nèi)的任意

一個(gè)字符。您可以把字符類與量詞結(jié)合在一起,例如, [acegikmoqsuwy]* 將是只包含字母表中奇數(shù)字

母的任意字符序列。某些字符類是預(yù)先定義的:
d ― 數(shù)字(0 到 9)
D -- 非數(shù)字
s -- 空白字符,如制表符或換行符
S -- 非空白字符
w -- 單字字符(a 到 z、A 到 Z、0 到 9 以及下劃線)
W -- 非單字字符(其它任意字符)

Posix 字符類(Posix character class):某些字符類僅在用于 US-ASCII 比較時(shí)才有效。例如:
p{Lower} ― 小寫字符
p{Upper} ― 大寫字符
p{ASCII} ― 所有 ASCII 字符
p{Alpha} ― 字母字符(p{Lower} 與 p{Upper} 相結(jié)合)
p{Digit} ― 從 0 到 9 的數(shù)字
p{Alnum} ― 字母數(shù)字字符

范圍(Range):使用短線(dash)來指定包括一定范圍字符的字符類。例如, [A-J] 表示從 A 到 J

的大寫字母

否定(Negation):脫字符(^)否定字符類的內(nèi)容。例如, [^A-J] 表示除 A 到 J 之外的任何字符。

反斜杠字符()在 String 常量中需要轉(zhuǎn)義。
w+ 與 p{Alnum}+ 類似,但添加了下劃線(_)。
反斜杠( .)代表句點(diǎn)。如果前面沒有反斜杠,單獨(dú)一個(gè)句點(diǎn)代表任意字符。
p{Alpha}{2, 3} 表示兩個(gè)或三個(gè)字母字符


--------------------------------------------------------------------------------
java.util.regex是一個(gè)用正則表達(dá)式所訂制的模式來對字符串進(jìn)行匹配工作的類庫包(其他:如

Jakarta-ORO )


它包括兩個(gè)類: Pattern和 Matcher

Pattern  一個(gè)Pattern是一個(gè)正則表達(dá)式經(jīng)編譯后的表現(xiàn)模式。
Matcher  一個(gè)Matcher對象是一個(gè)狀態(tài)機(jī)器,它依據(jù)Pattern對象做為匹配模式對字符串展開匹配檢查。

一個(gè)正則表達(dá)式,也就是一串有特定意義的字符,必須首先要編譯成為一個(gè)Pattern類的實(shí)例,這個(gè)

Pattern對象將會(huì)使用 matcher()方法來生成一個(gè)Matcher實(shí)例,接著便可以使用該 Matcher實(shí)例以編譯

的正則表達(dá)式為基礎(chǔ)對目標(biāo)字符串進(jìn)行匹配工作,多個(gè)Matcher是可以共用一個(gè)Pattern對象的。

在java.util.regex包里,我們僅需生成一個(gè)Pattern類,直接使用它的compile()

一個(gè)Matcher實(shí)例是被用來對目標(biāo)字符串進(jìn)行基于既有模式(也就是一個(gè)給定的Pattern所編譯的正則表

達(dá)式)進(jìn)行匹配查找的,所有往Matcher的輸入都是通過CharSequence接口提供的,這樣做的目的在于可

以支持對從多元化的數(shù)據(jù)源所提供的數(shù)據(jù)進(jìn)行匹配工作。

★matches()/lookingAt ()/find():
一個(gè)Matcher對象是由一個(gè)Pattern對象調(diào)用其matcher()方法而生成的,一旦該Matcher對象生成,它就可

以進(jìn)行三種不同的匹配查找操作:

matches()方法嘗試對整個(gè)目標(biāo)字符展開匹配檢測,也就是只有整個(gè)目標(biāo)字符串完全匹配時(shí)才返回真值。
lookingAt ()方法將檢測目標(biāo)字符串是否以匹配的子串起始。
find()方法嘗試在目標(biāo)字符串里查找下一個(gè)匹配子串。
以上三個(gè)方法都將返回一個(gè)布爾值來表明成功與否。

★replaceAll ()/appendReplacement()/appendTail():
Matcher類同時(shí)提供了四個(gè)將匹配子串替換成指定字符串的方法:

replaceAll()
replaceFirst()
appendReplacement()
appendTail()

使用方式
1。Pattern wordBreakPattern = Pattern.compile("模式");
2。Matcher lineMatcher = linePattern.matcher(需要匹配的字符串);
3。Match的函數(shù)如find/lookat等,檢查結(jié)果

關(guān)于“Java中怎么用正則表達(dá)式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

網(wǎng)頁題目:Java中怎么用正則表達(dá)式-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article6/ceoiig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站小程序開發(fā)、域名注冊、全網(wǎng)營銷推廣品牌網(wǎng)站制作、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)