Javascript正则表达式匹配和替换

Javascript正则表达式匹配和替换,javascript,jquery,regex,Javascript,Jquery,Regex,我目前有这种类型的正则表达式替换函数 var regex = new RegExp(value, 'gi'); var return = item.replace(regex, function(match) { return "<strong>" + match + "</strong>" }); 在哪里 它返回='Cat Dogapple' 我想要什么 仅在单词开头匹配 匹配不区分大小写 使整个单词变得强大,而不仅仅是字母 所以结果应该是 Cat Dog '&

我目前有这种类型的正则表达式替换函数

var regex = new RegExp(value, 'gi');

var return = item.replace(regex, function(match) { return "<strong>" + match + "</strong>" });
在哪里

它返回='Cat Dogapple'

我想要什么

  • 仅在单词开头匹配
  • 匹配不区分大小写
  • 使整个单词变得强大,而不仅仅是字母
所以结果应该是

Cat Dog '<strong>Apple</strong>'
catdog'Apple'
您正在寻找的

\ba\w+
看。
JavaScript
中:
let items=[‘猫’、‘狗’、‘苹果’、‘广告’、‘纽约’];
让regex=/\ba\w+/gi;
items.forEach(功能(项目){
让new_item=item.replace(正则表达式,函数(匹配){
返回“”+匹配+””;
});
控制台日志(新的_项);

});你所说的仅在单词开头是什么意思?@ALFA在单词开头。Jan的回答是正确的,但还是有一个小错误。请在Jan的解决方案中查看我的评论。谢谢,但还是有一些小问题。我需要的字符串不是数组,所以我删除了数组,但请帮助解决以下问题。您已将匹配字符串作为字符串在正则表达式中传递,我需要在正则表达式中传递变量。第二,它与整个单词不匹配,如果我通过‘do’,它将生成,但如果我通过‘Dog’,它不会将狗转换为,请阅读我的上述评论。我想我已经得到了解决方案var regex=“\\b”+testString+”\\w+\\b”+testString;regex=newregexp(regex,'gi');让new_item=givenString.replace(regex,函数(match){return“”+match+”“;});如果你认为可以有更好更快的正则表达式,请建议。非常感谢。
Cat Dog '<strong>Apple</strong>'
\ba\w+