JavaScript語法入門系列(七) 類和對象(正則表達式RegExp)

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 常用屬性

屬性

描述

global

RegExp 對象是否具有標誌 g。比如var pattern=new RegExp("\\d+");document.write(pattern.global);將在頁面顯示false。

ignoreCase

RegExp 對象是否具有標誌 i。比如var pattern=/\d+/gi;

document.write(pattern.ignoreCase);將在頁面顯示true。

lastIndex

一個整數,標示開始下一次匹配的字符位置。例子見方法exec的例子中。

multiline

RegExp 對象是否具有標誌 m。

source

正則表達式的源文本。

 

8.4.3 常用方法

方法

描述

compile

編譯正則表達式。

exec

檢索字符串中指定的值。返回找到的值,並在結果中提供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。

test

檢索字符串中指定的值。返回 true 或 false。比如:var regstring = "string123string1243";var pattern=/\d+/g;document.write(pattern.test(regstring));將在頁面顯示true。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章