允许在正则表达式中使用某些字母

Allow some letters in reg expression

本文关键字:正则表达式      更新时间:2023-09-26

我有下一个regExp:

new RegExp("^[a-zA-Z0-9''s'&()',_'-]+$");

我想允许@

so I try:

new RegExp("^[a-zA-Z0-9''s'&()',_'-@]+$");

但是有一个例外:

Uncaught SyntaxError: Invalid regular expression: /^[a-zA-Z0-9's&()',_-@]+$/: Range out of order in character class

下面是一个例子:http://jsfiddle.net/qv5syoev/

有人知道为什么这个正则表达式是无效的吗?

没有这样的范围_-@最好将转义放回'-范围操作符上,
或者,可以将操作符放在类的开头或结尾,将其作为文字处理。

好的,因为它是双引号,你必须转义两次。''-一次用于lang解析器,另一次用于regex解析器。