老师,为什么加了全局搜索,并设置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>


http://img.mukewang.com/climg/5febeaf7099a720c02030122.jpg

写回答

1回答

好帮手慕夭夭

2020-12-30

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


http://img.mukewang.com/climg/5febf36009f8f33e07100283.jpg

祝学习愉快~

0

0 学习 · 15276 问题

查看课程