亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript exec() 方法

定義和用法

exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。

語(yǔ)法

RegExpObject.exec(string)
參數(shù) 描述
string 必需。要檢索的字符串。

返回值

返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null。

說(shuō)明

exec() 方法的功能非常強(qiáng)大,它是一個(gè)通用的方法,而且使用起來(lái)也比 test() 方法以及支持正則表達(dá)式的 String 對(duì)象的方法更為復(fù)雜。

如果 exec() 找到了匹配的文本,則返回一個(gè)結(jié)果數(shù)組。否則,返回 null。此數(shù)組的第 0 個(gè)元素是與正則表達(dá)式相匹配的文本,第 1 個(gè)元素是與 RegExpObject 的第 1 個(gè)子表達(dá)式相匹配的文本(如果有的話),第 2 個(gè)元素是與 RegExpObject 的第 2 個(gè)子表達(dá)式相匹配的文本(如果有的話),以此類推。除了數(shù)組元素和 length 屬性之外,exec() 方法還返回兩個(gè)屬性。index 屬性聲明的是匹配文本的第一個(gè)字符的位置。input 屬性則存放的是被檢索的字符串 string。我們可以看得出,在調(diào)用非全局的 RegExp 對(duì)象的 exec() 方法時(shí),返回的數(shù)組與調(diào)用方法 String.match() 返回的數(shù)組是相同的。

但是,當(dāng) RegExpObject 是一個(gè)全局正則表達(dá)式時(shí),exec() 的行為就稍微復(fù)雜一些。它會(huì)在 RegExpObject 的 lastIndex 屬性指定的字符處開(kāi)始檢索字符串 string。當(dāng) exec() 找到了與表達(dá)式相匹配的文本時(shí),在匹配后,它將把 RegExpObject 的 lastIndex 屬性設(shè)置為匹配文本的最后一個(gè)字符的下一個(gè)位置。這就是說(shuō),您可以通過(guò)反復(fù)調(diào)用 exec() 方法來(lái)遍歷字符串中的所有匹配文本。當(dāng) exec() 再也找不到匹配的文本時(shí),它將返回 null,并把 lastIndex 屬性重置為 0。

提示和注釋

重要事項(xiàng):如果在一個(gè)字符串中完成了一次模式匹配之后要開(kāi)始檢索新的字符串,就必須手動(dòng)地把 lastIndex 屬性重置為 0。

提示:請(qǐng)注意,無(wú)論 RegExpObject 是否是全局模式,exec() 都會(huì)把完整的細(xì)節(jié)添加到它返回的數(shù)組中。這就是 exec() 與 String.match() 的不同之處,后者在全局模式下返回的信息要少得多。因此我們可以這么說(shuō),在循環(huán)中反復(fù)地調(diào)用 exec() 方法是唯一一種獲得全局模式的完整模式匹配信息的方法。

實(shí)例

在本例中,我們將全局檢索字符串中的 w3school:

<script type="text/javascript">

var str = "Visit w3school"; 
var patt = new RegExp("w3school","g");
var result;

while ((result = patt.exec(str)) != null)  {
  document.write(result);
  document.write("<br />");
  document.write(result.lastIndex);
 }
</script>

輸出:

w3school
14

TIY

exec()
如何使用 exec() 來(lái)檢索字符串。