0

我想RegExp用 JavaScript 创建一个新的变量。但是当我想创建新的 a 时遇到了麻烦lookaround RegExp

var xvar = "_on";
var regex = new RegExp("(?<!" + xvar + ")(.gif|.jpg|.png)$");
#=> SyntaxError: Invalid regular expression: /(?<!_on)(.gif|.jpg|.png)$/: Invalid group

我试图在用特殊字符创建正则表达式之后转义所有特殊字符,然后它可以创建一个新的正则表达式,但就像一个字符串,而不是环视正则表达式。

/\(\?<!_on\)\(\.gif\|\.jpg\|\.png\)\$/

谁能帮我?

4

1 回答 1

-2

我不知道你的目标,RegExp但量词(...)在这种情况下会导致错误。例如,使用非捕获括号 (?:...)

var regex = new RegExp("(?:<!" + xvar + ")(?:.gif|.jpg|.png)$");

参考:正则表达式 - JavaScript | MDN

@艾伦摩尔:你是对的。

于 2013-08-26T08:29:08.813 回答