nolan4954 2015-10-11 03:20 采纳率: 50%
浏览 1452

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

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

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

  • 写回答

1条回答

  • sky_flying對滴 2015-10-12 02:25
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况