1、什麼是正則正則表達式
正則 :也叫作規則,讓計算機可以讀懂人類的規則,通常都是用來操做字符串的函數
2、正則的寫法性能
var re = //; // 簡寫 簡寫比全稱性能好spa
var re = new RegExp(); // 全稱 注意:當正則須要傳參的時候,必定要用全稱的寫法字符串
3、正則中的默認回調函數
一、正則中的默認 : 區分大小寫test
若是不區分大小寫的話 : 在正則的最後加標識i方法
var re = //i;計算機
var re = new RegExp('','i');集合
二、正則中的默認 : 正則匹配成功就會結束,不會繼續匹配
若是想所有查找 : 就要加標識 g(全局匹配)
var re = //g;
4、正則中的量詞
一、量詞的概念 : 匹配不肯定的位置,通常用{}來表明
二、{n,m}; // 最少出現n次,最多出現m次
三、{n,}; // 最少出現n次
四、{n}; // 正好出現n次
五、+ 至關於 {1,} // 最少出現1次
六、?至關於 {0,1} // 出現0次,或者1次
七、* 至關於 {0,} // 至少出現0次
八、^ // 若是 ^ 放在正則的最開始位置,就表明起始的意思
九、$ // 若是 $ 放在正則的最後位置,就表明起始的意思
3、正則的經常使用方法
一、test : 正則去匹配字符串,若是匹配成功就返回真,若是匹配失敗就返回假(通常用以作判斷的)。—> 返回Boolean類型
test的寫法 : 正則.test(字符串);
二、search : 正則去匹配字符串,若是匹配成功就返回匹配成功的位置,若是匹配失敗就返回-1 —> 返回Number類型
search的寫法 : 字符串.search(正則);
三、match : 正則去匹配字符串,若是匹配成功就返回匹配成功的數字,若是匹配失敗就返回null —> 返回Object類型(Array)
match的寫法 : 字符串.match(正則);
四、replace : 正則去匹配字符串,匹配成功的字符去替換成新的字符串 —> 返回String類型
replace的寫法 : 字符串.replace(正則,新的字符串);
注意:replace 的第二個參數 : 能夠是字符串,也能夠是一個回調函數,這個回調函數裏面的的第一個參數,就是匹配成功的字符
4、匹配子項
一、匹配子項是由小括號來表明的。(小括號還有分組操做的意思)
二、寫法 : var re = /(正則第一項)(第二項)(第三項)/;
三、replace : replace的第二個參數若是是一個回調函數的話,那麼這個函數的第一個參數是:當前正則的總體;第二個參數是:正則總體的第一項,第三個參數是正則總體的第二項....以此類推
四、match : 只有當match不加全局匹配g的時候,才能夠獲取到子項的集合
5、正則中經常使用到的轉義字符
. 任意字符 (在正則中的"."表明的是任意字符,而在正則中真正的"."的輸寫格式是"\.")
\s 空格
\S 非空格
\d 數字
\D 非數字
\w 字符 ( 字母,數字,下劃線_ 都是字符)
\W 非字符 ( 特殊字符,漢字等都是非字符)
\b 獨立的部分 (起始,結束,空格)
\B 非獨立的部分
\1 重複的第一個子項
\2 重複的第二個子項
……
6、正則表達式字符類
一、字符類 : 一組類似的元素,用[]來表示,中括號的總體表明一個字符
寫法 : var re = /a[bcd]e/;
二、排除 : 若是 ^ 寫在[]裏面的話,就表明排除的意思;若是 ^ 放在正則的最開始位置,就表明起始的意思
寫法 : var re = /a[^bcd]e/;
三、範圍 : 在[]裏面寫匹配的範圍,如a-z表明的是字母a一直到字母z的26個字母 寫法 : var re = /a[a-z]b/;