日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java用正则表达式大全_Java 正则表达式 大全

發(fā)布時間:2024/8/1 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java用正则表达式大全_Java 正则表达式 大全 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是正則表達(dá)式?

正則表達(dá)式的定義:這是一種字符串的語法規(guī)則,是一種可以用于模式匹配和替換的規(guī)則,主要用于文本和字符串的處理(匹配,查找,替換,判斷字符串)。一個正則表達(dá)式是由普通的字符(a~z)以及特殊字符(元字符)組成的文字模式,用以描述在查找文字主體時待匹配的一個或多個字符串。下面我們會介紹一些常用的元字符

正則表達(dá)式的元字符

元字符的定義:元字符:元字符使得正則表達(dá)式具有處理能力,指的是那些在正則表達(dá)式中具有特殊意義的專用字符,可以規(guī)定其前導(dǎo)字符在目標(biāo)對象中的出現(xiàn)模式

元字符

在正則表達(dá)式中的寫法

意義

.

.

任何一個字符

\d

\\d

0-9之間的任意一個數(shù)字

\D

\\D

任何一個非數(shù)字字符

\s

\\s

空格類字符'\t','\n'等等

\S

\\S

非空格類字符

\w

\\w

可用于標(biāo)識符的字符,不包括美元符

\W

\\W

不能可用于標(biāo)識符的字符

\p{Lower}

\\p[Lower]

小寫字母[a~z]

\p{Upper}

\\p{Upper}

大寫字母[A~Z]

\p{ASCII}

\\p{ACSII}

ASCII字符

\p{Alpha}

\\p{Alpha}

字母

\p{digit}

\\p{digit}

數(shù)字字符[0~9]

\p{Alnum}

\\p{Alnum}

字母或數(shù)字

\p{Punct}

\\p{Punct}

標(biāo)點符號

\p{graph}

\\p{graph}

可視字符,\p{Alnum},\p{Punct}

\p{Print}

\\p{Print}

可打印字符

\p{Blank}

\\p{Blank}

空格或制表符

\p{Cntrl}

\\p{Cntrl}

控制字符[\x00~\x1F\x7F]

上面的表中,基本上就是一些比較常用的元字符,我們需要注意元字符在正則表達(dá)式中的寫法,不能直接用元字符來編寫我們的正則程序

正則表達(dá)式中的方括號[]

元字符可以是放在[]中的任意單個字符(如[a]表示匹配單個小寫字符a),也可以是字符序列(如[a-d]表示匹配a-d即a,b,c,d中的任意一個字符,而\w表示任意英文字母、數(shù)字及下劃線)。例如:regex="[159]ABC",那么"1ABC","5ABC","9ABC"都是與正則表達(dá)式regex匹配的字符,方括號的含義如下:

注:方括號內(nèi)允許嵌套,可以進(jìn)行交,并,差運算

方括號表達(dá)式

含義

[abcde]

匹配a,b,c,d,e中的任意一個字符

[a-h]

匹配a到h之間的任意一個字符

[^fgh]

匹配除f,g,h外的任意一個字符

[a-d[m-p]]

代表a~d,或m~p中的任意一個字符(并)

[a-z&&[def]]

代表d,e或f中的任意一個字符串(交)

[a-z&&[^bc]]

代表a,d,e,f(差)

正則表達(dá)式中的限定符

在使用正則表達(dá)式時,我們知道元字符一般只能匹配一個位置或一個字符,如果需要某一類型的元字符多次輸入,逐個輸入,或是要匹配多個字符的時候就相當(dāng)麻煩,這個時候我們可以使用正則表達(dá)式的限定符來重復(fù)輸入。例如:regex="hello[246]?",那么"hello","hello2","hello4","hello6"都是與regex匹配的字符串,下面是一些常見的限定符

帶限定符號的模式

含義

X?

X出現(xiàn)0次或1次

X*

X出現(xiàn)0次或多次

X+

X出現(xiàn)1次或多次

X{n}

X出現(xiàn)n次

X{n,}

X至少出現(xiàn)n次

X{n,m}

X至少出現(xiàn)n至m次

XY

X后面跟Y

X|Y

X或Y

然后用法的話相信大家不會陌生吧:

String regex="自己定義的正則表達(dá)式";

String test="需要正則的字符串對象";

boolean isMatch=test.matches(regex);

if(isMatch){

//test為匹配成功的數(shù)據(jù)

}else{

//test為匹配失敗的數(shù)據(jù)

}

可能有些人會說,我經(jīng)常用到的正則表達(dá)式中有Pattern和Matcher兩個類,這兩個類是干嘛的呢?

Pattern: 一個Pattern是一個正則表達(dá)式經(jīng)編譯后的表現(xiàn)模式。

Matcher: 一個Matcher對象是一個狀態(tài)機器,它依據(jù)Pattern對象做為匹配模式對字符串展開匹配檢查。

首先一個Pattern實例訂制了一個所用語法與PERL的類似的正則表達(dá)式經(jīng)編譯后的模式,然后一個Matcher實例在這個給定的Pattern實例的模式控制下進(jìn)行字符串的匹配工作。

總結(jié)

以上是生活随笔為你收集整理的java用正则表达式大全_Java 正则表达式 大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。