【问题标题】:Regex messes up syntax highlighting正则表达式搞乱了语法高亮
【发布时间】:2013-07-01 22:13:13
【问题描述】:

我在这里遗漏了什么吗?此正则表达式用于电子邮件验证,看起来其中一个正斜杠正在消除语法突出显示。

var emailRegex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

var validEmail = emailRegex.test(newEmail.email);

我做错了吗?是否有其他方法可以格式化此正则表达式以防止这种情况发生?

我无法找到这个问题的答案。

【问题讨论】:

    标签: javascript regex syntax syntax-highlighting


    【解决方案1】:

    您可能只需要在正则表达式中转义 /。否则语法高亮显示它认为它关闭了正则表达式文字。

    //-----------------------vv
    var re = /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
    

    或者您可以使用您正在使用的任何编辑器提交错误。


    请注意,SO 上的语法荧光笔与原版没有问题。

    var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
    

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2014-08-01
      • 2016-11-07
      相关资源
      最近更新 更多