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

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

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

學習正則表達式,用Jdk1.4后的java.util.regex

模式:

我們來看一些更常用的表達式的種類

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

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

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

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

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

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

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

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

的大寫字母

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

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


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

Jakarta-ORO )


它包括兩個類: Pattern和 Matcher

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

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

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

的正則表達式為基礎對目標字符串進行匹配工作,多個Matcher是可以共用一個Pattern對象的。

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

一個Matcher實例是被用來對目標字符串進行基于既有模式(也就是一個給定的Pattern所編譯的正則表

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

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

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

以進行三種不同的匹配查找操作:

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

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

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

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

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

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

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

廣告

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

h5響應式網(wǎng)站建設