Javascript 包含空格和其他字符的单词的正则表达式

Javascript regex for words including spaces and other characters

字符串搜索:'authorizations'

实际:

授权

PCP / 授权

预期是:

授权

PCP/授权

我想加粗搜索结果,但我只想加粗完全匹配的结果。我使用了这个正则表达式,但它没有给出预期的结果。

        $(event.target).autocomplete({
                        minLength: 1,
                        source: $(event.target).attr("data-source").replace("[","").replace("]","").split(",")
        }).data("ui-autocomplete")._renderItem = function(ul, item) {
            var term = this.term,
                regex = new RegExp('\b' + term + '\b', 'gi');
                label = item.label.replace(regex, '<b style="font-weight: bold;">$&</b>');
                $link = $("<a></a>").html(label);
            return $("<li></li>").append($link).appendTo(ul);
        };

既然你只想在完全等价的情况下加粗,那么为什么不直接使用 == 来比较字符串:

    $(event.target).autocomplete({
                    minLength: 1,
                    source: $(event.target).attr("data-source").replace("[","").replace("]","").split(",")
    }).data("ui-autocomplete")._renderItem = function(ul, item) {
        var term = this.term;
        if (item.label == 'Authorizations') {
            label = '<b style="font-weight: bold;">Authorizations</b>';
        }
        else {
            label = item.label;
        }
        $link = $("<a></a>").html(label);

        return $("<li></li>").append($link).appendTo(ul);
    };