プログラミング言語のリストにjQueryTokeninputオートコンプリートプラグインを使用していますが、「C ++」では「+」文字を処理しないことがわかりました。JavaScriptエラーが返され、オートコンプリートリストには何も表示されません。
「C」と入力すると、irはエラーを返します。
Uncaught SyntaxError:無効な正規表現:/(?![^&;] +;)(?!<[^ <>] )(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";
どうすれば修正できますか?