鍍金池/ 問答/HTML/ JavaScript的exec方法匹配問題

JavaScript的exec方法匹配問題

exec方法,同樣一段代碼注釋掉之后,顯示不同的結(jié)果,好奇怪。
圖片描述

圖片描述

同一個代碼,注釋掉上下的,結(jié)果就不一樣?
var myRe=/d(b+)d/g;
console.log(myRe.exec('cdbbdbsdbdbz'));
console.log(myRe.exec('cdbbdbsbbdbz'));
console.log(myRe.exec('cdbbdbsdbdbz'));

回答
編輯回答
冷溫柔
當(dāng)正則表達式使用 "g" 標(biāo)志時,可以多次執(zhí)行 exec 方法來查找同一個字符串中的成功匹配。當(dāng)你這樣做時,查找將從正則表達式的 lastIndex 屬性指定的位置開始。

https://developer.mozilla.org...

2017年6月2日 21:05
編輯回答
伴謊

你兩句話是一樣的,第一句注釋掉了,下面一句就相當(dāng)于是第一句。。。

2018年7月20日 20:15
編輯回答
情未了

題主了解下正則對象的lastIndex屬性,

粗淺的說,

每一次返回的結(jié)果是從上一次匹配到的下一個位置重新匹配,所以多次使用 exec 返回的結(jié)果可能都是不一樣的;

強烈譴責(zé)題主該貼代碼的地方貼截圖!

2018年4月5日 08:53