JavaScript 替换所有忽略大小写敏感

标签 javascript regex

我正在尝试用另一个值替换字符串中所有出现的值

我目前的情况是

var result = "Cooker Works" 
var searchterm = "cooker wor";

searchterm.split(" ").forEach(function (item) {
   result = result.replace(new RegExp(item, 'g'), "<strong>" + item + "</strong>");
});
    
console.log(result)

我想要的结果应该是这样的

result = "<strong>Cooker</strong> <strong>Wor</strong>s";

我在处理这个案子时遇到了问题,有什么办法可以让我忽略它并仍然得到我想要的结果

最佳答案

不区分大小写匹配需要使用i修饰符

new RegExp(item, 'ig')

var result = "Cooker Works"
var searchterm = "cooker wor";

searchterm.split(" ").forEach(function(item) {
  var matchs = result.match(new RegExp(item, 'ig'));
  if (matchs.length)
    result = result.replace(new RegExp(item, 'ig'), "<strong>" + matchs[0] + "</strong>");
});

console.log(result)

关于JavaScript 替换所有忽略大小写敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44905159/

相关文章:

javascript - 即使短语确实存在于数组中,正则表达式搜索也会返回 -1

java - Java 正则表达式中 matches() 和 find() 之间的区别

javascript - jquery 我应该如何实时搜索多个 html 文件以获取结果

javascript - 正则表达式 - 匹配巴西电话号码

python - 在Python中的数据帧行中提取正则表达式匹配项,而不是组

javascript - 提交按钮无法处理 javascript 以进行验证

regex - git word diff regex 奇怪的行为

javascript - Node.js:响应是否发送给正确的用户?

javascript - Cloudkit JS - 由创建记录的用户查询记录

javascript - javascript/typescript/Angular 中的逗号分隔符