JS中简单的正则表达式的问题,对语法的不理解

var emailRep1 = /[\w.-]+@[\w.-]+.[\w.-]+/; //正确邮箱的正则表达式
var emailRep2 = /[\w[.-]]+@[\w.-]+.[\w.-]+/; //错误邮箱的正则表达式

我只是将[\w.-] 改为[\w[.-]],就不能正确校验我的QQ邮箱了。单上我单独将[\w.-],[\w[.-]]拿出来测试,感觉匹配模式是一样的,最重要的是语法上感觉也是等价的
正则表达式中语法有讲到,[xyz]字符集合,匹配指定字符集合中任意的一个字符。

1个回答

你那么看是不对的:[\w.-]+这个加号表示前面的可以有一个或多个,而[\w[.-]]+中的[.-]后面是没有加号的,也就是说当 "." 和 "-" 出现了一次就没了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐