老师,*不是可以表示匹配任意数字嘛,为啥不出结果呢?
来源:3-15 编程练习
慕姐9358429
2020-07-22 22:30:33
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式-重复</title>
</head>
<body>
<script type="text/javascript">
var str = '我家的电话是6930184,地址是北京西城区';
/*此处添加代码*/
var pattern1=/\d{1,}/;//第一种方法
var pattern2=/\d*///第二种方法
// console.log(pattern.exec(str));
document.write(pattern1.exec(str)+'</br>');
document.write(pattern2.exec(str));
</script>
</body>
</html>
1回答
同学你好,问题描述的不对,\d才表示匹配数字,*表示匹配前面的子表达式任意次数,相当于{0,},即匹配0次也可以。当匹配如下字符串时,因为前面不是数字,所以匹配不到,匹配了0次,符合匹配次数,就不会再往下匹配了。
这里应该使用+,加号表示匹配前面的子表达式一次或多次(大于等于1次),即至少要匹配一次。如下修改:
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题