【问题标题】: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])?/;