RegExp對象用法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html";charset="gbk"/>
<script type="text/javascript" >
 /*var reg=/家人/g;*/
 var reg=new RegExp("家人","g");
 var str="咱們都是一家人,很好的一家人";
   /* while((t=reg.exec(str))!=null){
 alert(t.length+":"+t.index+":"+t.lastIndex);                    1:5:7      1:12:14
 }*/
 alert(reg.test(str));                                                         true
</script>
</head>
<body>
   
  
</body>
</html>javascript

 

 

正則表達式對象
本對象包含正則表達式模式以及代表如何應用模式的標誌。

語法 1
re = /pattern/[flags]

語法 2
re = new RegExp("pattern",["flags"])

參數
re

必選項。將要賦值爲正則表達式模式的變量名。

Pattern

必選項。要使用的正則表達式模式。若是使用語法 1,用 "/" 字符分隔模式。若是用語法 2,用引號將模式引發來。

flags

可選項。若是使用語法 2 要用引號將 flag 引發來。標誌能夠組合使用,可用的有:

g (全文查找出現的全部 pattern)
i (忽略大小寫)
m (多行查找)
說明
不要將正則表達式對象跟全局 RegExp 對象混淆。儘管聽起來像是一回事,但它們是大相徑庭的。正則表達式對象的屬性只包含一個正則表達式的信息,而全局 RegExp 對象的屬性包含了不斷更新的每個匹配出現的信息。

正則表達式對象保存用於查找字符串中的字符組合時的模式。建立正則表達式對象後,或者它被傳遞給字符串方法,或者字符串被傳遞給一個正則表達式方法。有關最近進行查找的信息被保存在全局 RegExp 對象中。

當預先知道查找字符串時用語法 1。當查找字符串常常變更或不知道時用語法 2,好比由用戶輸入獲得的字符串。

在使用前 pattern 參數被編譯爲內部格式。對語法 1 來講,pattern 在該腳本被裝載時被編譯。對語法 2 來講,pattern 在使用前,或調用 compile 方法時被編譯。

-----------
exec 方法
用正則表達式模式在字符串中運行查找,並返回包含該查找結果的一個數組。

rgExp.exec(str)

參數
rgExp

必選項。包含正則表達式模式和可用標誌的正則表達式對象。

str

必選項。要在其中執行查找的 String 對象或字符串文字。

說明
若是 exec 方法沒有找到匹配,則它返回 null。若是它找到匹配,則 exec 方法返回一個數組,而且更新全局 RegExp 對象的屬性,以反映匹配結果。數組的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出現的任意一個子匹配。這至關於沒有設置全局標誌 (g) 的 match 方法。

若是爲正則表達式設置了全局標誌,exec 從以 lastIndex 的值指示的位置開始查找。若是沒有設置全局標誌,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。

exec 方法返回的數組有三個屬性,分別是 input、index 和 lastIndex。html

Input 屬性包含了整個被查找的字符串。java

Index 屬性中包含了整個被查找字符串中被匹配的子字符串的位置。正則表達式

LastIndex 屬性中包含了匹配中最後一個字符的下一個位置。

數組

相關文章
相關標籤/搜索