8.4 正則表達式RegExp
RegExp 對象表示正則表達式,它可以對字符串執行模式匹配,從而拆分,查找和替換字符串中匹配的子串。這些在第三章的String對象部分已經介紹了。具體正則表達式的規則可參考其他專門的書籍。此處只介紹跟JavaScript相關的部分。
8.4.1 聲明
聲明一個RegExp對象有兩種方法。第一種使用new關鍵字,如下:
varpattern = new RegExp(“number\\d+”,”g”);
第二個參數爲可選項,如果不需要對正則表達式特殊設定則可不添加。特殊設定比如g表示全局搜索,i表示忽略大小寫等。在第一種方式中,由於string中反斜槓(\)有轉義作用,所以需要添加雙反斜槓來取消轉義。
第二種是直接使用表達式,如下:
varpattern = /number\d+/;
其中開始和結束的斜槓(/)表示表達式的開始和結束。
8.4.2 常用屬性
屬性 |
描述 |
RegExp 對象是否具有標誌 g。比如var pattern=new RegExp("\\d+");document.write(pattern.global);將在頁面顯示false。 |
|
RegExp 對象是否具有標誌 i。比如var pattern=/\d+/gi; document.write(pattern.ignoreCase);將在頁面顯示true。 |
|
一個整數,標示開始下一次匹配的字符位置。例子見方法exec的例子中。 |
|
RegExp 對象是否具有標誌 m。 |
|
正則表達式的源文本。 |
8.4.3 常用方法
方法 |
描述 |
編譯正則表達式。 |
|
檢索字符串中指定的值。返回找到的值,並在結果中提供index屬性表示其位置。比如 var regstring = "string123string1243";var pattern=/\d+/gi;var result; while ((result = pattern.exec(regstring))!=null){ document.write(result+"&"+result.index+"&"+pattern.lastIndex+"<br>");}將在頁面中顯示兩行:123&6&9和1243&15&19。 |
|
檢索字符串中指定的值。返回 true 或 false。比如:var regstring = "string123string1243";var pattern=/\d+/g;document.write(pattern.test(regstring));將在頁面顯示true。 |