RegExp對象和經常使用正則表達式規則

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次

其餘

^:一行開頭

$:一行結尾

[]:劃分部分,後加次數

{}:裏面一個數是具體出現次數,兩個數是出現次數範圍

():記住匹配結果,以數組形式

相關文章
相關標籤/搜索