欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java的正則表達(dá)式介紹

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

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

1、字符

x 字符 x。例如a表示字符a

\\ 反斜線字符。在書(shū)寫(xiě)時(shí)要寫(xiě)為\\\\。(注意:因?yàn)閖ava在第一次解析時(shí),把\\\\解析成正則表達(dá)式\\,在第二次解析時(shí)再解析為\,所以凡是不是1.1列舉到的轉(zhuǎn)義字符,包括1.1的\\,而又帶有\(zhòng)的都要寫(xiě)兩次)

\0n 帶有八進(jìn)制值 0的字符 n (0 \0nn 帶有八進(jìn)制值 0的字符 nn (0 \0mnn 帶有八進(jìn)制值 0的字符 mnn(0 \xhh 帶有十六進(jìn)制值 0x的字符 hh

\uhhhh 帶有十六進(jìn)制值 0x的字符 hhhh

\t 制表符 ('\u0009')

\n 新行(換行)符 ('\u000A')

\r 回車(chē)符 ('\u000D')

\f 換頁(yè)符 ('\u000C')

\a 報(bào)警 (bell) 符 ('\u0007')

\e 轉(zhuǎn)義符 ('\u001B')

\cx 對(duì)應(yīng)于 x 的控制符

2、字符類(lèi)

[abc] a、b或 c(簡(jiǎn)單類(lèi))。例如[egd]表示包含有字符e、g或d。

[^abc] 任何字符,除了 a、b或 c(否定)。例如[^egd]表示不包含字符e、g或d。

[a-zA-Z] a到 z或 A到 Z,兩頭的字母包括在內(nèi)(范圍)

[a-d[m-p]] a到 d或 m到 p:[a-dm-p](并集)

[a-z&&[def]] d、e或 f(交集)

[a-z&&[^bc]] a到 z,除了 b和 c:[ad-z](減去)

[a-z&&[^m-p]] a到 z,而非 m到 p:[a-lq-z](減去)

3、預(yù)定義字符類(lèi)(注意反斜杠要寫(xiě)兩次,例如\d寫(xiě)為\\d)任何字符(與行結(jié)束符可能匹配也可能不匹配)

\d 數(shù)字:[0-9]

\D 非數(shù)字: [^0-9]

\s 空白字符:[ \t\n\x0B\f\r]

\S 非空白字符:[^\s]

\w 單詞字符:[a-zA-Z_0-9]

\W 非單詞字符:[^\w]

4.POSIX 字符類(lèi)(僅 US-ASCII)(注意反斜杠要寫(xiě)兩次,例如\p{Lower}寫(xiě)為\\p{Lower})

\p{Lower} 小寫(xiě)字母字符:[a-z]。

\p{Upper} 大寫(xiě)字母字符:[A-Z]

\p{ASCII} 所有 ASCII:[\x00-\x7F]

\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]

\p{Digit} 十進(jìn)制數(shù)字:[0-9]

\p{Alnum} 字母數(shù)字字符:[\p{Alpha}\p{Digit}]

\p{Punct} 標(biāo)點(diǎn)符號(hào):!"#$%&'()*+,-./:;?@[\]^_`{|}~

\p{Graph} 可見(jiàn)字符:[\p{Alnum}\p{Punct}]

\p{Print} 可打印字符:[\p{Graph}\x20]

\p{Blank} 空格或制表符:[ \t]

\p{Cntrl} 控制字符:[\x00-\x1F\x7F]

\p{XDigit} 十六進(jìn)制數(shù)字:[0-9a-fA-F]

\p{Space} 空白字符:[ \t\n\x0B\f\r]

5.java.lang.Character 類(lèi)(簡(jiǎn)單的 java 字符類(lèi)型)

\p{javaLowerCase} 等效于 java.lang.Character.isLowerCase()

\p{javaUpperCase} 等效于 java.lang.Character.isUpperCase()

\p{javaWhitespace} 等效于 java.lang.Character.isWhitespace()

\p{javaMirrored} 等效于 java.lang.Character.isMirrored()

6.Unicode 塊和類(lèi)別的類(lèi)

\p{InGreek} Greek 塊(簡(jiǎn)單塊)中的字符

\p{Lu} 大寫(xiě)字母(簡(jiǎn)單類(lèi)別)

\p{Sc} 貨幣符號(hào)

\P{InGreek} 所有字符,Greek 塊中的除外(否定)

[\p{L}&&[^\p{Lu}]] 所有字母,大寫(xiě)字母除外(減去)

7、邊界匹配器

^ 行的開(kāi)頭,請(qǐng)?jiān)谡齽t表達(dá)式的開(kāi)始處使用^。例如:^(abc)表示以abc開(kāi)頭的字符串。注意編譯的時(shí)候要設(shè)置參數(shù)MULTILINE,如 Pattern p = Pattern.compile(regex,Pattern.MULTILINE);

$ 行的結(jié)尾,請(qǐng)?jiān)谡齽t表達(dá)式的結(jié)束處使用。例如:(^bca).*(abc$)表示以bca開(kāi)頭以abc結(jié)尾的行。

\b 單詞邊界。例如\b(abc)表示單詞的開(kāi)始或結(jié)束包含有abc,(abcjj、jjabc 都可以匹配)

\B 非單詞邊界。例如\B(abc)表示單詞的中間包含有abc,(jjabcjj匹配而jjabc、abcjj不匹配)

\A 輸入的開(kāi)頭

\G 上一個(gè)匹配的結(jié)尾(個(gè)人感覺(jué)這個(gè)參數(shù)沒(méi)什么用)。例如\\Gdog表示在上一個(gè)匹配結(jié)尾處查找dog如果沒(méi)有的話(huà)則從開(kāi)頭查找,注意如果開(kāi)頭不是dog則不能匹配。

\Z 輸入的結(jié)尾,僅用于最后的結(jié)束符(如果有的話(huà))

行結(jié)束符 是一個(gè)或兩個(gè)字符的序列,標(biāo)記輸入字符序列的行結(jié)尾。

以下代碼被識(shí)別為行結(jié)束符:

‐新行(換行)符 ('\n')、

‐后面緊跟新行符的回車(chē)符 ("\r\n")、

‐單獨(dú)的回車(chē)符 ('\r')、

‐下一行字符 ('\u0085')、

‐行分隔符 ('\u2028') 或

‐段落分隔符 ('\u2029)。

\z 輸入的結(jié)尾

當(dāng)編譯模式時(shí),可以設(shè)置一個(gè)或多個(gè)標(biāo)志,例如

Pattern pattern = Pattern.compile(patternString,Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);

下面六個(gè)標(biāo)志都是支持的:

‐CASE_INSENSITIVE:匹配字符時(shí)與大小寫(xiě)無(wú)關(guān),該標(biāo)志默認(rèn)只考慮US ASCII字符。

‐UNICODE_CASE:當(dāng)與CASE_INSENSITIVE結(jié)合時(shí),使用Unicode字母匹配

‐MULTILINE:^和$匹配一行的開(kāi)始和結(jié)尾,而不是整個(gè)輸入

‐UNIX_LINES: 當(dāng)在多行模式下匹配^和$時(shí),只將'\n'看作行終止符

‐DOTALL: 當(dāng)使用此標(biāo)志時(shí),.符號(hào)匹配包括行終止符在內(nèi)的所有字符

‐CANON_EQ: 考慮Unicode字符的規(guī)范等價(jià)

8、Greedy 數(shù)量詞

X? X,一次或一次也沒(méi)有

X* X,零次或多次

X+ X,一次或多次

X{n} X,恰好 n 次

X{n,} X,至少 n 次

X{n,m} X,至少 n 次,但是不超過(guò) m 次

9.Reluctant 數(shù)量詞

X?? X,一次或一次也沒(méi)有

X*? X,零次或多次

X+? X,一次或多次

X{n}? X,恰好 n 次

X{n,}? X,至少 n 次

X{n,m}? X,至少 n 次,但是不超過(guò) m 次

10、Possessive 數(shù)量詞

X?+ X,一次或一次也沒(méi)有

X*+ X,零次或多次

X++ X,一次或多次

X{n}+ X,恰好 n 次

X{n,}+ X,至少 n 次

X{n,m}+ X,至少 n 次,但是不超過(guò) m 次

Greedy,Reluctant,Possessive的區(qū)別在于:(注意僅限于進(jìn)行.等模糊處理時(shí))

greedy量 詞被看作“貪婪的”,因?yàn)樗谝淮尉妥x入整個(gè)被模糊匹配的字符串。如果第一個(gè)匹配嘗試(整個(gè)輸入字符串)失敗,匹配器就會(huì)在被匹配字符串中的最后一位后退一個(gè)字符并且再次嘗試,重復(fù)這個(gè)過(guò)程,直到找到匹配或者沒(méi)有更多剩下的字符可以后退為止。根據(jù)表達(dá)式中使用的量詞,它最后試圖匹配的內(nèi)容是1 個(gè)或者0個(gè)字符。

但是,reluctant量詞采取相反的方式:它們從被匹配字符串的開(kāi)頭開(kāi)始,然后逐步地一次讀取一個(gè)字符搜索匹配。它們最后試圖匹配的內(nèi)容是整個(gè)輸入字符串。

最后,possessive量詞總是讀完整個(gè)輸入字符串,嘗試一次(而且只有一次)匹配。和greedy量詞不同,possessive從不后退。

11、Logical 運(yùn)算符

XY X 后跟 Y

X|Y X 或 Y

(X) X,作為捕獲組。例如(abc)表示把a(bǔ)bc作為一個(gè)整體進(jìn)行捕獲

12、Back 引用

\n 任何匹配的 nth捕獲組

捕獲組可以通過(guò)從左到右計(jì)算其開(kāi)括號(hào)來(lái)編號(hào)。例如,在表達(dá)式 ((A)(B(C)))中,存在四個(gè)這樣的組:

1 ((A)(B(C)))

2 \A

3 (B(C))

4 (C)

在表達(dá)式中可以通過(guò)\n來(lái)對(duì)相應(yīng)的組進(jìn)行引用,例如(ab)34\1就表示ab34ab,(ab)34(cd)\1\2就表示ab34cdabcd。

13、引用
\ Nothing,但是引用以下字符

\Q Nothing,但是引用所有字符,直到 \E。QE之間的字符串會(huì)原封不動(dòng)的使用(1.1中轉(zhuǎn)義字符的除外)。例如, ab\\Q{|}\\\\E
可以匹配ab{|}\\

\E Nothing,但是結(jié)束從 \Q開(kāi)始的引用

14、特殊構(gòu)造(非捕獲)

(?:X) X,作為非捕獲組

(?idmsux-idmsux) Nothing,但是將匹配標(biāo)志由 on 轉(zhuǎn)為 off。比如:表達(dá)式 (?i)abc(?-i)def 這時(shí),(?i) 打開(kāi)不區(qū)分大小寫(xiě)開(kāi)關(guān),abc 匹配

idmsux說(shuō)明如下:

‐i CASE_INSENSITIVE :US-ASCII 字符集不區(qū)分大小寫(xiě)。(?i)

‐d UNIX_LINES : 打開(kāi)UNIX換行符

‐m MULTILINE :多行模式(?m)

UNIX下?lián)Q行為

WINDOWS下?lián)Q行為\r\n(?s)

‐u UNICODE_CASE : Unicode 不區(qū)分大小寫(xiě)。(?u)

‐x COMMENTS :可以在pattern里面使用注解,忽略pattern里面的whitespace,以及"#"一直到結(jié)尾(#后面為注解)。(?x)例如(?x)abc#asfsdadsa可以匹配字符串a(chǎn)bc

(?idmsux-idmsux:X) X,作為帶有給定標(biāo)志 on - off 的非捕獲組。與上面的類(lèi)似,上面的表達(dá)式,可以改寫(xiě)成為:(?i:abc)def,或者 (?i)abc(?-i:def)

(?=X) X,通過(guò)零寬度的正 lookahead。零寬度正先行斷言,僅當(dāng)子表達(dá)式 X 在 此位置的右側(cè)匹配時(shí)才繼續(xù)匹配。例如,\w+(?=\d) 表示字母后面跟數(shù)字,但不捕獲數(shù)字(不回溯)

(?!X) X,通過(guò)零寬度的負(fù) lookahead。零寬度負(fù)先行斷言。僅當(dāng)子表達(dá)式 X 不在 此位置的右側(cè)匹配時(shí)才繼續(xù)匹配。例如,\w+(?!\d) 表示字母后面不跟數(shù)字,且不捕獲數(shù)字。

(? (? (?>X) X,作為獨(dú)立的非捕獲組(不回溯)

(?=X)與(?>X)的區(qū)別在于(?>X)是不回溯的。例如被匹配的字符串為abcm

當(dāng)表達(dá)式為a(?:b|bc)m是可以匹配的,而當(dāng)表達(dá)式是a(?>b|bc)時(shí)是不能匹配的,因?yàn)楫?dāng)后者匹配到b時(shí),由于已經(jīng)匹配,就跳出了非捕獲組,而不再次對(duì)組內(nèi)的字符進(jìn)行匹配??梢约涌焖俣取?/p>

關(guān)于java的正則表達(dá)式介紹就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

標(biāo)題名稱(chēng):java的正則表達(dá)式介紹
文章轉(zhuǎn)載:http://aaarwkj.com/article16/jesjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站收錄、網(wǎng)頁(yè)設(shè)計(jì)公司、外貿(mào)建站服務(wù)器托管

廣告

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

成都網(wǎng)站建設(shè)
亚洲免费视频区一区二| 熟妇一区二区在线播放| 蜜臀视频网站在线观看| 麻豆av永久地址久久精品| 国产69精品久久久久久人| 一区二区三区日韩激情| 亚洲天堂av现在观看| 国产精品国产精品三级在线观看 | 中文字幕久久一区二区三区| 成人作爱视频免费播放 | 亚洲日本久久久午夜精品| 蜜臀在线免费观看av| 亚洲免费成人高清电影| 亚洲老熟女老妇老女人| 欧美日韩亚洲国产极品| 欧美日本国产老熟女视频| 日本理伦片一区二区| 日日淫夜夜操熟女视频| 女同av免费观看网站| 久久这里只有精品热免费| 欧美夫妻香蕉视频网站| 天天操夜夜夜夜夜操| 麻豆深夜激情在线观看| 人妻黄色这里只有精品| 黄片视频免费观看一起草| 国产三级精品电影久久| 男女性情视频免费大全网站| 成人精品欧美欧美一级乱黄| 一区二区三区毛片免费| 欧美黄色一级在线免费观看| 夜色一区二区av人片| 日韩三级视频一区二区| 少妇高潮毛片免费看高潮| 中文字幕av在线有码| 日木av中文字幕女女同性| av天天堂网在线播放| 日本一区欧美二区精品| 久久日韩精品人妻一区二区| 日韩在线国产亚洲精品| 亚洲国产精品va在线香蕉| 国产精品高清国产三级av|