我正在为编程语言列表使用jQuery Tokeninput自动完成插件,我发现它不处理“C++”中的“+”字符:它返回一个 JavaScript 错误,并且自动完成列表上没有任何内容。
当我输入“C”时,ir 返回错误:
未捕获的语法错误:无效的正则表达式:/(?![^&;]+;)(?!<[^<>] )(C++)(?![^<>] >)(?![^&;] +;)/: 没什么可重复的
问题似乎在于RegExp 语句的一个小方法:
function find_value_and_highlight_term(template, value, term) {
return template.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + value + ")(?![^<>]*>)(?![^&;]+;)", "g"), highlight_term(value, term));
}
变量:
template = "<li>C++</li>";
value = "C++";
term = "C";
我如何解决它?