突出显示匹配的表达式EXCEPT空格

时间:2013-03-09 21:00:21

标签: javascript regex

我有一个Ajaxsearch(如Google),您可以在其中键入单词,并在底部自动填充表单,并突出显示匹配关键字。问题是空白也被突出显示(给予强标记),这增加了空格的宽度。

我必须修改以下功能,但我不知道这是做什么的。

highlight: function(value, term) {
    return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
},

1 个答案:

答案 0 :(得分:0)

已解决:只需添加修剪以防止突出显示尾随空格。

highlight: function(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + trim(term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1")) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");

},