为了账号安全,请及时绑定邮箱和手机立即绑定

关于javascript的正则表达式?

关于javascript的正则表达式?

湖上湖 2018-08-05 14:10:51
关于javascript的正则表达式var pattem = /8go.gle8/;var str = ‘8google8’;alert(pattem.test(str));这个输出true,.等于o(2)var pattem = /8go..*gle8/;var str = ‘8google8’;alert(pattem.test(str));第二个里面有两个.为什么也会输出true?
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

123var pattem = /8go..*gle8/;var str = ‘8google8’;alert(pattem.test(str));

在这个正则里面

第一个.匹配的是 字母 o

第二个.是和*一起的,.表示一个任意字符 *表示0个或多个。这里 .* 一起最终匹配了0个任意字符,所以最终也是true。如果没有*,输出就是false了。


查看完整回答
反对 回复 2018-08-20
?
慕斯709654

TA贡献1840条经验 获得超5个赞

因为.*表示点0到无数次重复,等同于.{0,},也就是说可以不重复(0次重复),所以你第二个正则表达式,可以等同于第一个正则表达式,因为.*可以为0次重复.

如果你把.*改成.+输出就是false了,因为.+表示点1到无数次重复,等同于.{1,}

下面给你一个.+的例子,你看看吧,结果为false

12345678910111213<script type=text/javascript>  var pattem = /8go..+gle8/;   var str = '8google8'  alert(pattem.test(str)); </script>  运行结果false


查看完整回答
反对 回复 2018-08-20
  • 2 回答
  • 0 关注
  • 1074 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信