为什么exec返回的是null

来源:2-7 编程练习

慕雪9296518

2020-04-28 10:11:16

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

<title>正则表达式</title>

</head>

<body>


<script type="text/javascript">

    var str = 'regular expression = regexp';

/*此处写代码*/

var patternword = /"lar exp"/igm;

var patterReg = new RegExp("lar exp","igm");

document.write(patternword.test(str)+"/"+patternword.exec(str)+"/"+ patterReg.test(str)+"/" +patterReg.exec(str));

</script>

</body>


</html>


写回答

1回答

好帮手慕言

2020-04-28

同学你好,可以参考下方:

1、正则中多了引号,建议去掉:

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

2、 正常情况下, 正则表达式匹配字符串的时候, 每一次都会从开始到结尾进行匹配。添加了全局匹配之后, 再次开始匹配的时候, 是从上一次匹配结束的位置进行下一次匹配。

以同学的代码为例, 先使用test方法,匹配到“lar exp”,结束本次匹配, 然后使用exec方法的时候, 从“ression。。。”的位置开始向后匹配字符串,所以无法匹配到,返回null。

这道编程题不需要添加修饰符,示例:

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

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程