老师,/\d*/不是表示至少匹配0次或者更多么?为什么输出结果是[""]而不是["6930184"]

来源:3-15 编程练习

慕村梦花火

2020-07-10 12:57:02

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

<title>正则表达式-重复</title>

</head>

<body>


<script type="text/javascript">

    var str = '我家的电话是6930184,地址是北京西城区';

/*此处添加代码*/

var pattern = /\d*/;

document.write(pattern.exec(str))

</script>

</body>


</html>


写回答

1回答

好帮手慕久久

2020-07-10

同学你好,问题解答如下:

"/\d*/"是表示至少匹配0次或者更多,关键就在于匹配0次。字符串str的开头是汉字,它不是数字,所以它满足匹配0次数字,如下:

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

所以需要将“*”改成“+”,即至少匹配一次,就能正确匹配了。

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

2

0 学习 · 14456 问题

查看课程