exec 方法
利用規則運算式 (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 方法:
var src = "The quick brown fox jumps over the lazy dog.";
// Create regular expression pattern with a global flag.
var re = /\w+/g;
// Get the next word, starting at the position of lastindex.
var arr;
while ((arr = re.exec(src)) != null)
{
print (arr.index + "-" + arr.lastIndex + " " + arr[0]);
}
// Output:
// 0-3 The
// 4-9 quick
// 10-15 brown
// 16-19 fox
// 20-25 jumps
// 26-30 over
// 31-34 the
// 35-39 lazy
// 40-43 dog