JavaScript lastIndex 屬性
定義和用法
lastIndex 屬性用于規(guī)定下次匹配的起始位置。
語法
RegExpObject.lastIndex
說明
該屬性存放一個整數(shù),它聲明的是上一次匹配文本之后的第一個字符的位置。
上次匹配的結果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它們都以 lastIndex 屬性所指的位置作為下次檢索的起始點。這樣,就可以通過反復調用這兩個方法來遍歷一個字符串中的所有匹配文本。
該屬性是可讀可寫的。只要目標字符串的下一次搜索開始,就可以對它進行設置。當方法 exec() 或 test() 再也找不到可以匹配的文本時,它們會自動把 lastIndex 屬性重置為 0。
提示和注釋
重要事項:不具有標志 g 和不表示全局模式的 RegExp 對象不能使用 lastIndex 屬性。
提示:如果在成功地匹配了某個字符串之后就開始檢索另一個新的字符串,需要手動地把這個屬性設置為 0。
實例
在下面的例子中,我們將輸出匹配完成之后的 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 屬性來檢測從何處開始下一次匹配。