Javascript正则表达式:使用变量创建新的lookbehind正则表达式?
我想用JavaScript创建一个带有变量的新的Javascript正则表达式:使用变量创建新的lookbehind正则表达式?,javascript,regex,regex-lookarounds,Javascript,Regex,Regex Lookarounds,我想用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 var x
RegExp
。但是当我想创建一个新的lookaround RegExp
时遇到了麻烦:
var xvar = "_on";
var regex = new RegExp("(?<!" + xvar + ")(.gif|.jpg|.png)$");
#=> SyntaxError: Invalid regular expression: /(?<!_on)(.gif|.jpg|.png)$/: Invalid group
var xvar=“_on”;
var regex=new RegExp(“(?我不知道您的RegExp
目标,但量词(…)
在这种情况下会导致错误。例如,使用非捕获括号(?:…)
var regex=new RegExp((?:Javascript不支持lookback。一种方法是反转字符串…取决于您正在做什么。最终目标是什么?为什么不能使用正常的非捕获组,如“(?:“+xvar+”(.gif |.jpg |.png)$”
?他没有试图匹配,而是试图使用JavaScript正则表达式中不支持的反向查找。
/\(\?<!_on\)\(\.gif\|\.jpg\|\.png\)\$/
var regex = new RegExp("(?:<!" + xvar + ")(?:.gif|.jpg|.png)$");