我想创建一个新的由JavaScript变量的RegExp。但是当我想创建一个新的lookaround RegExp时,我遇到了麻烦
var xvar = "_on";
var regex = new RegExp("(?<!" + xvar + ")(.gif|.jpg|.png)$");
#=> SyntaxError: Invalid regular expression: /(?<!_on)(.gif|.jpg|.png)$/: Invalid group我尝试转义Creating regexp with special characters后面的所有特殊字符,然后它可以创建一个新的RegExp,但就像一个字符串,而不是一个lookaround正则表达式。
/\(\?<!_on\)\(\.gif\|\.jpg\|\.png\)\$/有谁可以帮我?
发布于 2013-08-26 16:29:09
我不知道您的RegExp的目标,但在这种情况下,量词(...)会导致错误。例如,使用- (?:...)的非捕获括号。
var regex = new RegExp("(?:<!" + xvar + ")(?:.gif|.jpg|.png)$");请参阅:Regular Expressions - JavaScript | MDN。
@Alan Moore:你说得对。
https://stackoverflow.com/questions/18438301
复制相似问题