要使用這些字元做文字字元是需要用反斜槓「\」進行轉義。例如
匹配1+1=2的正規表示式為:1\+1=2;
字符集由方括號「」 括起,告訴正規表示式引擎匹配集合中的單個字元,可以使用連字元「-」定義乙個字元範圍:[a-za-z0-9]。
在左方括號「[」後邊緊跟乙個尖括號「^」,對字符集取反:[^a-za-z1-9]匹配數字字母以外的任何字元。
\d: 匹配數字,相當於 [0-9]
\w:匹配單詞字元,相當於 [a-za-z0-9]
\s:匹配空白字元
\d:[^\d]
\w:[^\w]
\s:[^\s]
?:匹配0次或者1次
+:匹配1次或多次
*:匹配0次或多次
:重複少min次,最多max次
:重複至少min次
: 重複最多max次
:重複min次
重複匹配符「? + *」是具有貪婪性的:例如要匹配乙個html標籤result」,如果用正規表示式「<.+>」來匹配,則返回的不是我們期望的「」,而是「」。
分析:正規表示式引擎先匹配到第乙個字元「」,之後用「」去匹配後面的任意字元,直到匹配失敗,在本例中會匹配到換行失敗(「.」不匹配換行符),也就是說已經匹配到「result」然後再用「>」回溯匹配,知道回溯找到「>」,匹配成功,因此返回「」。
解決方法:使用懶惰性取代貪婪性
在重複匹配符「? + *」的後面加乙個問號「?」,告訴正則引擎盡可能少的重複上乙個字元。繼續上面的例子,引擎先匹配到「<」成功之後用「.」匹配「h」也成功,緊接著就會用「>」匹配「2」,結果失敗,引擎會進行回溯,用「.+」擴充套件匹配,因此「「^」匹配字串的開始部分。
「$」匹配字串的結束部分。
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式總結
正規表示式用於操作字串的規則,這些規則由一些符號所組成。使用正規表示式可以進行更複雜的操作,而且這種複雜的操作要比方法短的多。功能 1,匹配。使用的是string類中的matches方法。2,切割。使用的string類split方法。3,替換。4,查詢。1,將正則規則通過pattern類中的stat...
正規表示式總結
常用正規表示式總結 w w w 驗證 號碼 d d d 正確格式為 x x xx x xx x 和 xx 驗證身份證號 15位或18位數字 d d 驗證一年的12個月 0?1 9 1 0 2 正確格式為 01 09 和 1 12 驗證乙個月的31天 0?1 9 1 2 0 9 30 31 正確格式為...