1、關於正則表達式的() [] {}說明
() 是爲了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串。
(\s*)表示連續空格的字符串。
[] 是定義匹配的字符範圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數字。[\s*]表示空格或者*號。
{} 一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s[1,3]表示匹配一到三個空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數字(注意後面有 *,可以爲空)[0-9]+ 匹配數字(注意後面有 +,不可以爲空){1-9} 寫法錯誤。
[0-9]{0,9} 表示長度爲 0 到 9 的數字字符串。
2、關於要匹配的次數
{n} 匹配前面的表達式重複n次,比如: "\w{2}" 相當於 "\w\w"; "a{5}" 相當於 "aaaaa"
{m,n} 匹配前面的表達式至少重複m次,最多重複n次,比如: "ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
{m,} 匹配前面的表達式至少重複m次,比如: "\w\d{2,}"可以匹配 "a12","_456","M12344"...
? 匹配前面的表達式重複0次或者1次,相當於 {0,1},比如: "a[cd]?"可以匹配 "a","ac","ad"
+ 匹配前面的表達式至少出現1次,相當於 {1,},比如: "a+b"可以匹配 "ab","aab","aaab"...
* 匹配前面的表達式不出現或出現任意次(含0次),相當於 {0,},比如: "\^*b"可以匹配 "b","^^^b"...
3、匹配什麼類型的字符
\d 任意一個數字,0~9 中的任意一個
\w 任意一個字母或數字或下劃線,也就是
A~Z,a~z,0~9,_ 中任意一個
\s 包括空格、製表符、換頁符等空白字符的其中任意一個
. 小數點可以匹配除了換行符(\n)以外的任意一個字符
4、字符串的開頭,結尾及單詞邊界
^ 匹配與字符串開始的地方,不匹配任何字符
$ 匹配與字符串結束的地方,不匹配任何字符
\b 匹配一個單詞邊界,也就是單詞和空格之間的位置,不匹配任何字符
([\\s\\S]*) 匹配包括換行符在內的任意字符, ([\d\D]*) 和 ([\w\W]*)可以實現
/[ -~]/ 匹配所有的英文
/[^ -~]/ 匹配所有的非英文(比如中文)