[英]JavaScript regex for whole word match base on a set of characters
div = $('#m');
var str = 'The cat will run after to mouse';
strSearch = ['a'];
$.each(strSearch, function(i, word) {
reg = new RegExp('\\b(' + word + ')\\b', 'gi');
newWords = str.replace(reg, function(results) {
return '<mark>' + results + '</mark>';
});
div.html(newWords);
当我运行这段代码时,它只突出显示“cat”和“after”中的“a”,我希望它突出显示整个单词。
您可以使用\w*a\w*
来匹配整个单词:
\w
匹配任何单词字符*
为零或更多演示
var div = $('#m'), str = 'The cat will run after the mouse', strSearch = ['a'], newWords = null; $.each(strSearch, function(i, word) { var reg = new RegExp('\\w*' + word + '\\w*', 'gi'); newWords = str.replace(reg, function(results) { return '<mark>' + results + '</mark>'; }); }); div.html(newWords);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><div id="m"></div><style>#m { font-size: 28px; font-family: Arial, Helvetica, sans-serif; } mark { display: inline-block; background: yellow; font-weight: bold; }</style>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.