前言:今天先分享正則表達式的基礎元字符,後續會分享正則表達式的子表達式,回溯引用,前後查找,嵌入條件,,全部分享完成之後,會嘗試着去分享一些例子與拆分介紹。如果文字描述有問題可以評論指出,如果概念很模糊,可以加我微信,我會盡量解答你的疑惑。
一>>>正則表達式的定義
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫爲regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。
二>>>正則表達式的字符區間
[]這個元符號可以定義一個字符集合,字符集合能夠與在該集合裏的字符區間的字符相匹配。字符區間可以使用 - 連字符來定義範圍。
A-Z 匹配從A到Z的所有大寫字母
a-z 匹配從a到z的所有小寫字母
A-Y 匹配從A到Y的所有大寫字母
A-z 匹配從ASCII字符A到ASCII字符z的所有字母
-只能在[]間出現,出現在[]外面,相等於匹配-
三>>>正則表達式取非
1 匹配非數字
2 匹配非英文
3 匹配非空白符
四>>>正則表達式的空白元字符
[b] 回退並刪除一個字符(backspace)
f 換頁符
n 換行符
r 回車符
v 垂直製表符
t 製表符tab鍵
注:rn是windows使用的文本行結束標籤,n是unix/linux的文本行結束標籤
五>>>正則表達式的其他元字符
d 匹配任何一個數字字符
D 匹配任何一個非數字字符
w 匹配任何一個字母數字字符(大小寫)或者下劃線字
符=[0-9a-zA-Z_]
W 匹配任何一個非字母數字或非下劃線字符
=[^0-9a-zA- Z_]
s 匹配任何一個空白字符=[frntv]
S 匹配任何一個非空白字符=4
六>>>正則表達式匹配字符
- 匹配一個或多個字符
- 匹配零個或者多個,可有可無,可多可少
? 匹配零個或者一個字符 舉例:http與https
{} 可以設定匹配字符的次數
{3} 匹配三次
{4,8} 匹配最少4次,最多8次
{3,} 匹配重複最少3次
七>>>正則表達式的貪婪型字符與懶惰型字符
* + 爲貪婪性元字符,在進行匹配時,行爲模式是多多益善而不是適可而止的,會儘可能的從一段文本的開頭一直匹配到文本的末尾,而不是從這段文本的開頭匹配到碰到的第一個匹配是爲止。
懶惰型字符相反。
貪婪型字符 懶惰型字符
* *?
+ +?
{n,} {n,}?
八>>>正則表達式邊界字符
w相匹配的字符叫做單詞邊界,W相匹配的叫做非單詞邊界
b單詞邊界字符,例如:至匹配 at 而不匹配 what,可以使用 --batb
B匹配一個前後都不是單詞邊界的連字符(-),nine-digit不能匹配,color - coded的連字符(-)可以匹配
關注JAVA知識分享與總結公衆號,獲取更多!