javascript - 用于包含空格和其他字符的单词的 Javascript 正则表达式
问题描述
字符串搜索:'授权'
实际的 :
授权
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);
};
推荐阅读
- wpf - 在 wpf 中将字节转换为图像时 xaml 中的错误
- bash - 我的所有外壳都只在我的桌面上显示 .lnk 而没有现有文件夹?
- javascript - 前端 JS 和后端 JS 之间的性能更好
- visual-studio - 如何在统一游戏中投放 Admob 广告?
- python - 如何在 ubuntu/linux 中添加基于面部识别的登录?
- asp.net - 无法在 Entity Framework Core 中迁移 DbContext 类
- css - 位置:粘性导致我的 div 大小翻倍并覆盖以前的 div
- azure-devops - 如何在VSTS Release管道空进程中执行exe
- nginx - 将 HTTPS 请求重定向到 HTTP(清漆),然后将后端服务器 HTTPS
- node.js - 为什么猫鼬将虚拟字段填充为数组而不是单个项目?