RegExp.lastIndex
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
lastIndex æ¯æ£å表达å¼çä¸ä¸ªå¯è¯»å¯åçæ´å屿§ï¼ç¨æ¥æå®ä¸ä¸æ¬¡å¹é
çèµ·å§ç´¢å¼ã
RegExp.lastIndex ç屿§ç¹æ§ | |
|---|---|
| å¯å | æ¯ |
| 坿䏾 | å¦ |
| å¯é ç½® | å¦ |
è¯æ³
js
lastIndex = regExpObj.lastIndex;
æè¿°
åªææ£å表达å¼ä½¿ç¨äºè¡¨ç¤ºå
¨å±æ£ç´¢ç "g" æè
ç²æ§æ£ç´¢ç "y" æ å¿æ¶ï¼è¯¥å±æ§æä¼èµ·ä½ç¨ãæ¤æ¶åºç¨ä¸é¢çè§åï¼
- 妿
lastIndex大äºå符串çé¿åº¦ï¼åregexp.teståregexp.execå°ä¼å¹é 失败ï¼ç¶ålastIndex被设置为 0ã - 妿
lastIndexçäºæå°äºå符串çé¿åº¦ï¼å该æ£å表达å¼å¹é ä»lastIndexä½ç½®å¼å§çå符串ã- 妿
regexp.teståregexp.execå¹é æåï¼lastIndexä¼è¢«è®¾ç½®ä¸ºç´§éæè¿ä¸æ¬¡æåå¹é çä¸ä¸ä¸ªä½ç½®ã - 妿
regexp.teståregexp.execå¹é 失败ï¼lastIndexä¼è¢«è®¾ç½®ä¸º 0
- 妿
示ä¾
èèä¸é¢çè¯å¥ï¼
js
var re = /(hi)?/g;
å¹é 空å符串
js
console.log(re.exec("hi"));
console.log(re.lastIndex);
è¿å ["hi", "hi"] ï¼lastIndex çäº 2ã
js
console.log(re.exec("hi"));
console.log(re.lastIndex);
è¿å ["", undefined]ï¼å³ä¸ä¸ªæ°ç»ï¼å
¶ç¬¬ 0 个å
ç´ ä¸ºå¹é
çåç¬¦ä¸²ãæ¤ç§æ
åµä¸ä¸ºç©ºåç¬¦ä¸²ï¼æ¯å 为 lastIndex 为 2ï¼ä¸ä¸ç´æ¯ 2ï¼ï¼"hi" é¿åº¦ä¸º 2ã
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-properties-of-regexp-instances> |