【发布时间】:2013-08-26 06:56:06
【问题描述】:
我想通过 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之后的所有特殊字符,然后它可以创建一个新的正则表达式,但就像一个字符串,而不是环视正则表达式。
/\(\?<!_on\)\(\.gif\|\.jpg\|\.png\)\$/
谁能帮帮我?
【问题讨论】:
-
Javascript 不支持lookbehind。
-
一种方法是反转字符串...取决于您在做什么。
-
终极目标是什么?为什么不能像
"(?:" + xvar + ")(.gif|.jpg|.png)$"那样使用普通的非捕获组?
标签: javascript regex regex-lookarounds