用正則表達(dá)式模式在字符串中運行查找,并返回包含該查找結(jié)果的一個數(shù)組。
rgExp.exec(str)
如果 exec 方法沒有找到匹配,則它返回 null。如果它找到匹配,則 exec 方法返回一個數(shù)組,并且更新全局 RegExp 對象的屬性,以反映匹配結(jié)果。數(shù)組的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出現(xiàn)的任意一個子匹配。這相當(dāng)于沒有設(shè)置全局標(biāo)志 (g) 的 match 方法。
如果為正則表達(dá)式設(shè)置了全局標(biāo)志,exec 從以 lastIndex 的值指示的位置開始查找。如果沒有設(shè)置全局標(biāo)志,exec 忽略 lastIndex 的值,從字符串的起始位置開始搜索。
exec 方法返回的數(shù)組有三個屬性,分別是 input、index 和 lastIndex。Input 屬性包含了整個被查找的字符串。Index 屬性中包含了整個被查找字符串中被匹配的子字符串的位置。LastIndex 屬性中包含了匹配中最后一個字符的下一個位置。
下面的例子舉例說明了 exec 方法的用法:
function RegExpTest(){ var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()) if (ver >= 5.5){ // 測試 JScript 的版本。 var src = "The rain in Spain falls mainly in the plain."; var re = /\w+/g; // 創(chuàng)建正則表達(dá)式模式。 var arr; while ((arr =re.exec(src)
) != null) document.write(arr.index
+ "-" + arr.lastIndex + "\t" + arr); } else{ alert("請使用 JScript 的更新版本"); } }
match 方法 | RegExp 對象 | 正則表達(dá)式對象方法 | 正則表達(dá)式對象屬性 | 正則表達(dá)式語法 | search 方法 | test 方法
應(yīng)用于:正則表達(dá)式對象