本文實例講述了JavaScript引用類型RegExp基本用法。分享給大家供大家參考,具體如下:
1、正則表達式定義
三個標志:全局模式g,不區分大小寫模式i,多行模式m。
1) 字面量定義
var pattern = /[fe]at/gim;
2) 構造函數定義:
接收兩個參數——要匹配的字符串模式和可選的模式字符串(g,i,m)。
var pattern = new RegExp("[fe]at","gim");注意:
1) 若需要匹配的字符串中包含以下元字符,就必須對它們進行轉義:( [ { / ^ & | ) ? * + . ] } 。
2) 由于構造函數定義正則表達式的參數是字符串,所以在某些情況下要對字符時行雙重轉義如/n,字符/在字符串中通常被轉義為//,而在正則表達式字符串參數中就會變成////,字面量模式//w//hello//123/等價的字符串為“//w////hello////123”。
2、RegExp實例屬性
1) global 表示是否設置了g標志。 2) ignoreCase 表示是否設置了i標志。 3) multiline 表示是否設置了m標志。 4) lastIndex 用于記錄上一次匹配結束的位置,即下一次開始搜索下一個匹配項的位置,從0算起。 5) Source返回正則表達式的字符串表示,按照字面量模式返回而非傳入構造函數的字符串模式返回。var pattern = new RegExp("http://[fe//]at","i");alert(pattern.source);以上代碼返回/[fe/]at
3、RegExp實例方法
1) 繼承的toLocaleString()、toString()、valueOf()方法
toLocaleString():返回正則表達式的字面量,與創建正則表達式的方式無關。
toString():返回正則表達式的字面量,與創建正則表達式的方式無關。
valueOf():返回正則表達式本身。
var pattern1 = //[fe/]at/i);var pattern2 = new RegExp("http://[fe//]at","i");alert(pattern1.toString()); // //[fe/]at/ialert(pattern1.toLocaleString()); // //[fe/]at/ialert(pattern2.toString()); // //[fe/]at/ialert(pattern2.toLocaleString()); // //[fe/]at/i2) match()方法
參數:用于匹配的正則表達式。
返回值:區分match()的返回值主要是看是否設置g標志,沒有設置g標志時與exec()是等價的。
a. 如果設置g標志,那么返回的是包含所有匹配項的數組。
b. 如果沒有設置g標志,那么返回的是包含第一個匹配項的數組,第0項是與整個正則表達式匹配的字符串,第1項是是與第1個子表達式相匹配的文本(如果有的話),第2項是與第2個子表達式相匹配的文本(如果有的話)。
3) exec()方法
參數:要應用模式的字符串。
返回值:返回包含第一個匹配項信息的數組,沒有匹配項的情況下返回null。
新聞熱點
疑難解答
圖片精選