老师,为什么加了全局搜索,并设置lastIndex=0,exec的搜索结果是null呢
来源:2-16 编程练习
weixin_慕雪1363253
2020-12-30 10:50:53
<script type="text/javascript">
var str = '一个"普通字符"在匹配字符串的时候,匹配与它相同的一个字符';
/*此处写代码*/
var regexp=/"普通字符"/g
regexp.lastIndex=0;
document.write(regexp.test(str)+'/'+regexp.exec(str));
</script>

1回答
同学你好,因为代码是从上往下顺序执行的,所以本代码中先执行regexp.lastIndex = 0,后执行两次匹配。如果想要在第二次匹配前把索引设置为0,那么需要先执行第一次匹配,然后执行regexp.lastIndex = 0,最后执行第二次匹配的前面。如下修改:

祝学习愉快~
相似问题