exec 方法
更新:2007 年 11 月
利用規則運算式 (Regular Expression) 模式執行字串搜尋,然後傳回包含搜尋結果的陣列。
function exec(str : String) : Array
引數
- str
必要項。要執行搜尋的 String 物件或字串常值 (String Literal)。
備註
如果 exec 方法找不到符合的項目,會傳回 null。如果找到符合的項目,則 exec 傳回陣列,然後更新全域 RegExp 物件的屬性以顯示符合的結果。陣列的元素零包含所有符合元素,而元素 1 – n 則包含了任何符合主元素中的子元素。這種做法相當於去掉設定全域旗標 (g) 設定的 match 方法。
如果一個規則運算式已經設定了全域旗標,exec 將會從 lastIndex 值指定的位置開始搜尋字串。如果未設定全域旗標,exec 則會略過 lastIndex 值,並從字串之首開始搜尋。
exec 方法傳回的陣列有三種屬性:input、index 及 lastIndex。input 屬性包含整個所搜尋的字串。index 屬性包含了在整個所搜尋字串中相符子字串的位置。lastIndex 屬性 (Property) 則包含了相符元素中跟著最後一個字元的位置。
範例
以下範例說明如何使用 exec 方法:
function RegExpTest() {
var s = "";
var src = "The rain in Spain falls mainly in the plain.";
// Create regular expression pattern for matching a word.
var re = /\w+/g;
var arr;
// Loop over all the regular expression matches in the string.
while ((arr = re.exec(src)) != null)
s += arr.index + "-" + arr.lastIndex + "\t" + arr + "\n";
return s;
}