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);
};
字符串搜索:'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);
};