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[.-]]+中的[.-]后面是没有加号的,也就是说当 "." 和 "-" 出现了一次就没了。

    评论

报告相同问题?

悬赏问题

  • ¥60 Python如何后台操作Vmwake虚拟机键鼠
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容