1.建立正則表達式的方式正則表達式
// two ways var pattern = new RegExp(rule); var pattern = /rule/
2.建立時額外參數數組
/* i : 忽略大小寫 * g : 全局匹配,不然只會針對第一個匹配項 * m : 多行匹配 */ var pattern = new RegExp(rule,'i'); var pattern = /rule/i;
i,g,m可在一個表達式中同時使用,如「ig」做爲參數。spa
3.RegExp的兩個匹配方法code
/* name: test() * parameters: 待匹配字符串 * return: true or false */ if(pattern.test('asdfghjkl')) document.writeln("匹配成功"); /* name: exec() * parameters: 待匹配字符串 * return: 匹配的結果,無匹配則返回null */ var result = pattern.exec('asdfgghjkl'); document.writeln(result );
4.RegExp一個有用的屬性lastIndex對象
這個屬性只有在全局模式時纔派得上用場,是可讀可寫的,意味着匹配從lastindex以後開始。blog
5.String對象支持的regex方法字符串
var pattern = /\d{2}/g; alert(str1.match(pattern)); //;相似exec,要麼返回匹配結果要麼返回null alert(str2.replace(pattern,"!!")); //把匹配項替換成!! alert(str3.search(pattern)); //老是返回首次匹配位置,無匹配返回-1 alert(str4.split(pattern)); //按照匹配項分割字符串,分割結果放到數組裏
元字符it
\w: 單詞字符 等價於[A-Za-z0-9_]ast
\W: 非單詞字符 等價於[^A-Za-z0-9_]class
\d: 數字 等價於[0-9]
\D:非數字 等價於[^0-9]
\s: 空白字符
\S: 非空白字符
\b: 單詞邊界
\B: 非單詞邊界
\n: 換行符
\r:回車符
\t: 製表符
次數量詞
*:>=0次
+:>=1次
?:0或1次
. :1次
其餘
^:一行開頭
$:一行結尾
[]:劃分部分,後加次數
{}:裏面一個數是具體出現次數,兩個數是出現次數範圍
():記住匹配結果,以數組形式