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

关于javascript的正则表达式?

关于javascript的正则表达式?

万千封印 2018-08-05 13:09:30
关于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 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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

在这个正则里面

第一个.匹配的是 字母 o

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


查看完整回答
反对 回复 2018-08-06
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

因为.*表示点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-06
  • 2 回答
  • 0 关注
  • 823 浏览

添加回答

举报

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