字面量建立 正則由匹配的字符和修飾符組成 var reg = /123/ig; new RegExp方式建立 var reg1 = new RegExp('123','ig') var s = 'abc'; var reg3 = new RegExp(s, 'i'); console.log(reg3); 修飾符 i: 忽略大小寫 g : 全局匹配 經常使用的元字符 - \d 0-9數字 - \D 非數字 - \w 數字、字母(大小寫)、下劃線 - \W 除了數字、字母(大小寫)、下劃線之外的任意字符 - \s 匹配空格或空白字符 - \S 除了空白之外的字符 - . 除了換行的任意字符 - \. 點自己 - \b 邊界 單詞的兩邊和字符串的開頭和結尾都是邊界 - ^ 開始 - $ 結尾
數量 - * 0-屢次 - ? 0-1次 - + 1-屢次 - {n} n次 - {n,} 至少n次 - {n,m} n-m次
或者 - (a|b|c) a,b,c中的一個字符 - [abc] a,b,c中的一個字符 - (abc|xyz|opq) abc或者xyz或者opq中的一組 - [a-z] 匹配小寫字母中的一個 - [^a-z] 除了小寫字母中之外的任意字符
regExp1.test(string) // true、false regExp2.exec(string); //用正則匹配字符串中對應的字符 var str = 'welcome to ujiuye!' var reg = /e/g; console.log(reg.lastIndex); //0 下一次匹配的開始位置 reg.lastIndex = 2; //設置匹配的開始位置 var r = reg.exec(str); console.log(r); //6 console.log(reg.lastIndex); //7 r = reg.exec(str); console.log(r); //16 r = reg.exec(str); console.log(r); //null
string.match(reg) ; 匹配字符串中符合正則表達式的字符 var str = 'welcome to ujiu-ye!' var reg = /e/g; var r = str.match(reg); //若是正則沒有修飾符g ,和調用一次exec結果同樣 console.log(r); //['e','e','e'] //若是有修飾符,就是把全部的匹配到的字符放在數組中返回 string.split(/[- ,]/); 同時用多個分割符分割字符串 string.replace(/123/g,''); 全局替換 string.replace(/(123)/g,'$1') 使用分組替換 string.search(reg); 返回第一次匹配的字符的索引
參考資料:https://www.cnblogs.com/libinqq/archive/2008/07/31/1257699.htmlhtml