Jquery:正则表达式无效

时间:2014-02-07 20:30:39

标签: javascript jquery jquery-ui jquery-plugins jquery-tokeninput

我遇到了“jquery_token_inpuy”的jquery代码问题

return template.replace(new RegExp(
    "(?![^&;]+;)(?!<[^<>]*)(" + value + ")(?![^<>]*>)(?![^&;]+;)", "g"
), highlight_term(value, term));

我有这个错误:SyntaxError:无效的正则表达式:/什么都不重复。

有什么问题?

1 个答案:

答案 0 :(得分:3)

您可以使用例程来“引用”所有元字符。这样的事情将是一个开始:

function regexSanitize( str ) {
  return str.replace(/([.+*?:\[\](){}|\\])/g, "\\$1");
}

然后:

return template.replace(
  new RegExp(
    "(?![^&;]+;)(?!<[^<>]*)(" + 
    regexSanitize(value) + 
    ")(?![^<>]*>)(?![^&;]+;)", "g"), 
  highlight_term(value, term)
);