匹配中的正则表达式无效量词错误

时间:2012-11-05 12:52:26

标签: regex

我正在尝试使用变量创建一个正则表达式,因为我不知道具体的单词

所以在正确放置变量后我得到了这段代码

var newregxobj="(?=(?<!kbWR"))(?=(?<!none"))>[0-9\.]+<";

我使用

制作了REGEXP
var re = new RegExp(newregxobj,"g");

当我尝试使用它来显示错误时:

  

SyntaxError:无效的量词

我试图逃避几乎所有的量词,但没有任何反应。

请帮忙。

2 个答案:

答案 0 :(得分:0)

我认为你需要在中间避开那个双引号:

"(?=(?<!kbWR\"))(?=(?<!none\"))>[0-9\.]+<";

答案 1 :(得分:0)

您需要使用"转义\,以使其\"

另一方面,您不必在[...]内部逃避句号。

我还建议在积极前瞻(?<!...)

内避免负面的后视(?=...)
kbWR\")(?<!none\")>[0-9.]+<

更新

因为您使用Javascript并且不支持lookbehind,所以您必须使用替代解决方案

var re = new RegExp("(?!kbWR\"|none\").{5}>[0-9.]+<", "g");