请问老师exec方法为什么返回null
来源:2-7 编程练习
慕标4507442
2019-12-14 17:05:13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式</title>
</head>
<body>
<script type="text/javascript">
var str = 'regular expression = regexp';
/*此处写代码*/
var str = "regular expression = regexp";
var patten = new RegExp("lar exp","ig");
document.write(patten.test(str) + "/");
document.write(patten.exec(str) + "/");
</script>
</body>
</html>
1回答
同学你好, 正常情况下, 正则表达式匹配字符串的时候, 每一次都会从开始到结尾进行匹配。但是test和exec方法不同, 添加了全局匹配之后, 再次开始匹配的时候, 是从上一次匹配结束的位置进行下一次匹配。
以同学的代码为例, 先使用test方法,匹配到“lar exp”,结束本次匹配, 然后使用exec方法的时候, 从“ression。。。”的位置开始向后匹配字符串,所以无法匹配到,返回null。
示例: 可以给在字符串中添加一个“拉人exp”,测试一下, 验证exec是从上一次匹配结束的位置开始进行匹配的。
此时exec是可以匹配到内容的
对于这些细节, 同学可以在编写代码的过程中慢慢积累, 扩充自己的知识面
这道编程题不需要添加修饰符,然后采用两种方法进行匹配,示例:
如果帮助到了你, 欢迎采纳,祝学习愉快~~~~
相似问题