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+