Javascript 允许在reg表达式中使用一些字母
我有下一个regExp:Javascript 允许在reg表达式中使用一些字母,javascript,regex,Javascript,Regex,我有下一个regExp: new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$"); 我想允许@ 所以我试着: new RegExp("^[a-zA-Z0-9\\s\&()',_\-@]+$"); 但有一个例外: 未捕获的语法错误:无效的正则表达式:/^[a-zA-Z0-9\s&',_-@]+$/:字符类中的范围顺序错误 以下是一个例子: 有人知道为什么这个正则表达式无效吗?没有这样的范围-@最好把转义放回\-range操作符上, 或者您可以将运算符放
new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$");
我想允许@
所以我试着:
new RegExp("^[a-zA-Z0-9\\s\&()',_\-@]+$");
但有一个例外:
未捕获的语法错误:无效的正则表达式:/^[a-zA-Z0-9\s&',_-@]+$/:字符类中的范围顺序错误
以下是一个例子:
有人知道为什么这个正则表达式无效吗?没有这样的范围-@最好把转义放回\-range操作符上,
或者您可以将运算符放在类的开头或结尾,在那里它被视为一个文本
好的,因为它是双引号,所以你必须逃避它两次。\\-一次用于lang解析器,另一次用于regex解析器。有什么例外?在类中使用@应该没有regex错误,一定是其他原因。我更新了我的主题..谢谢!我可以写:^[a-zA-Z0-9\\s\&'、\\-]+$+\@?或者你想让我写:^[a-zA-Z0-9\\s\&'、\\-]+$?最好用它。^[a-zA-Z0-9\\s\\\&'、\\\\-+$应该用正则表达式文字代替/^[a-zA-Z0-9\\s\&',_\-@+$/@Derek朕會功夫, 您的建议与sln的常规表达有什么区别?