关于javascript的正则表达式?

关于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?

万千封印
浏览 826回答 2
2回答

GCT1015

123var pattem = /8go..*gle8/;var str = ‘8google8’;alert(pattem.test(str));在这个正则里面第一个.匹配的是 字母 o第二个.是和*一起的,.表示一个任意字符 *表示0个或多个。这里 .* 一起最终匹配了0个任意字符,所以最终也是true。如果没有*,输出就是false了。

慕妹3242003

因为.*表示点0到无数次重复,等同于.{0,},也就是说可以不重复(0次重复),所以你第二个正则表达式,可以等同于第一个正则表达式,因为.*可以为0次重复.如果你把.*改成.+输出就是false了,因为.+表示点1到无数次重复,等同于.{1,}下面给你一个.+的例子,你看看吧,结果为false12345678910111213<script&nbsp;type=text/javascript>&nbsp;&nbsp;var&nbsp;pattem&nbsp;=&nbsp;/8go..+gle8/;&nbsp;&nbsp;&nbsp;var&nbsp;str&nbsp;=&nbsp;'8google8';&nbsp;&nbsp;&nbsp;alert(pattem.test(str));&nbsp;</script>&nbsp;&nbsp;运行结果false
打开App,查看更多内容
随时随地看视频慕课网APP