1

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

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

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

我使用的 REGEXP

var re = new RegExp(newregxobj,"g");

当我尝试使用 to 匹配它时出现错误:

SyntaxError: 无效的量词

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

请帮忙。

4

2 回答 2

0

我认为您需要在中间转义双引号:

"(?=(?<!kbWR\"))(?=(?<!none\"))>[0-9\.]+<";
于 2012-11-05T12:55:21.473 回答
0

你需要逃脱"\才能成功\"

另一方面,您不必在[...].

我还建议避免(?<!...)在积极的前瞻中进行消极的后瞻(?=...)


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

更新:

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

var re = new RegExp("(?!kbWR\"|none\").{5}>[0-9.]+<", "g");
于 2012-11-05T12:56:21.680 回答