注意驗證的時候不要出現什麼中文括號之類的
看又看不出
會坑死自己)
1.rub+b
可以匹配rubb / rubbb 但不能匹配 rubab
所以只能匹配rub+(任意的(大於1個)b)
2.rub*b
匹配rub+(任意數量的b可以為0)
3.rua?b
?代表前面的字元最多隻可以出現1次
也就是只匹配ruab或者rub
4.轉義字元『/
5.,n 是乙個非負整數。匹配確定的 n 次(注意是指前面的字元)
比如gnb只匹配gggnb
ag 匹配2個以上的a +g
ag 匹配2個到4個a+g
6.『.』任意字元
7.『^』從開始處的文字開始匹配 『$』匹配結束處
8.ter\b 以空格為乙個單詞 匹配以ter結尾的單詞
chapter aater 12ddsdater 則匹配到3個
9.\w 相當於([0-9a-za-z_]) 匹配字母或下劃線或漢字(甚至還包括一些希臘字母,俄文的字母)
10.\d匹配數字
11.\s匹配任意的空白符
12./g 表示該表示式將用來在輸入字串中查詢所有可能的匹配,返回的結果可以是多個。如果不加/g最多隻會匹配乙個
13./i 表示匹配的時候不區分大小寫
14./m多行匹配 比如說出現/n的換行符時
15./s 單行匹配
16./x 忽略空白
17.『\1』 匹配的是 所獲取的第1個()匹配的引用。
18.『\2』 匹配的是 所獲取的第2個()匹配的引用。
結合例項
(1)匹配重複字元
var str = "is is the cost of of gasoline going up up";
var patt1 = /\b([a-z]+) \1\b/ig;
解析: \b([a-z]+) 從小寫字串開始匹配
\1 重複匹配一遍\b([a-z]+) 比如 前面匹配過的字串abc 他需要再出現abc一次才匹配
所以我們先用 \b([a-z]+) \1 如圖測試
只匹配到一次重複
而/ig則是(全文查詢、忽略大小寫)
匹配結果為 is is of of up up
(2)匹配**格式
(\w+):\/\/([^/:]+)(:\d*)?([^# ]*) (這裡可能包括中文括號等字元,測試請自行轉化)
解析我們拆成幾部分
1.(\w+):\/\/ 至少乙個的字母或下劃線或漢字+:// => 比如www://
2.([^/:]+)仍以數量的:開頭的匹配 => :aa:bb:cc =>匹配aa ,bb,cc
3.(:\d*)? 匹配最多乙個『:』+數字 :80=> 匹配為 :80 (匹配埠)
4.([^#]*) 匹配任意字元多次(檔案路徑)。
(3)匹配ascii碼大於255
[^\x00-\xff]
正規表示式的一些符號
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
java 正規表示式的一些符號
x 字元 x 反斜線字元 0n 八進位制值的字元0n 0 n 7 0nn 八進位制值的字元 0nn 0 n 7 0mnn 八進位制值的字元0mnn 0mnn 0 m 3,0 n 7 xhh 十六進製制值的字元0xhh uhhhh 十六進製制值的字元0xhhhh t 製表符 u0009 n 換行符 u...
正規表示式符號的一些理解
關於正規表示式符號的一些理解 a 匹配有a或者沒有a 的字元 匹配全部字元 沒有意義 ba 匹配至少乙個b後面有多個或零個a cca 匹配至少包含cc的後面有乙個或多個a a hello匹配所有0個或多個a後,緊跟hello的行。即hello前面可以有任意多個a。s d 匹配 s d之間任意兩個字元...