JavaScript lastIndex 屬性
定義和用法
lastIndex 屬性用于規(guī)定下次匹配的起始位置。
語法
RegExpObject.lastIndex
說明
該屬性存放一個(gè)整數(shù),它聲明的是上一次匹配文本之后的第一個(gè)字符的位置。
上次匹配的結(jié)果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它們都以 lastIndex 屬性所指的位置作為下次檢索的起始點(diǎn)。這樣,就可以通過反復(fù)調(diào)用這兩個(gè)方法來遍歷一個(gè)字符串中的所有匹配文本。
該屬性是可讀可寫的。只要目標(biāo)字符串的下一次搜索開始,就可以對(duì)它進(jìn)行設(shè)置。當(dāng)方法 exec() 或 test() 再也找不到可以匹配的文本時(shí),它們會(huì)自動(dòng)把 lastIndex 屬性重置為 0。
提示和注釋
重要事項(xiàng):不具有標(biāo)志 g 和不表示全局模式的 RegExp 對(duì)象不能使用 lastIndex 屬性。
提示:如果在成功地匹配了某個(gè)字符串之后就開始檢索另一個(gè)新的字符串,需要手動(dòng)地把這個(gè)屬性設(shè)置為 0。
實(shí)例
在下面的例子中,我們將輸出匹配完成之后的 lastIndex 屬性:
<script type="text/javascript">
var str = "The rain in Spain stays mainly in the plain";
var patt1 = new RegExp("ain", "g");
patt1.test(str)
document.write("Match found. index now at: " + patt1.lastIndex
);
</script>
TIY
- lastIndex
- 如何使用 lastIndex 屬性來檢測(cè)從何處開始下一次匹配。