我正在尝试使用变量创建正则表达式,因为我不知道具体的单词
所以在正确放置变量后我得到了这个代码
var newregxobj="(?=(?<!kbWR"))(?=(?<!none"))>[0-9\.]+<";
我使用的 REGEXP
var re = new RegExp(newregxobj,"g");
当我尝试使用 to 匹配它时出现错误:
SyntaxError: 无效的量词
我试图逃避几乎所有的量词,但没有任何反应。
请帮忙。
我正在尝试使用变量创建正则表达式,因为我不知道具体的单词
所以在正确放置变量后我得到了这个代码
var newregxobj="(?=(?<!kbWR"))(?=(?<!none"))>[0-9\.]+<";
我使用的 REGEXP
var re = new RegExp(newregxobj,"g");
当我尝试使用 to 匹配它时出现错误:
SyntaxError: 无效的量词
我试图逃避几乎所有的量词,但没有任何反应。
请帮忙。
我认为您需要在中间转义双引号:
"(?=(?<!kbWR\"))(?=(?<!none\"))>[0-9\.]+<";
你需要逃脱"
,\
才能成功\"
。
另一方面,您不必在[...]
.
我还建议避免(?<!...)
在积极的前瞻中进行消极的后瞻(?=...)
kbWR\")(?<!none\")>[0-9.]+<
因为您使用 Javascript 并且不支持后视,您必须使用替代解决方案
var re = new RegExp("(?!kbWR\"|none\").{5}>[0-9.]+<", "g");