返回

javascript使用正则RegExp匹配到的值replace替换

2022-12-14 javascript 正则 RegExp replace 1367 0

有这么一个需求,有一个文档列表,我通过输入关键字筛选出查找的文档。

const regex = new RegExp(value, "gi");
let newList = articles.filter((x) => {
  return x.title.match(regex);
});

接着我希望将匹配的关键字通过样式设置问红色,我想到用title.replace(regex, '<span style="color:red;">' + value + "</span>")来实现,但是因为是忽略大小写的,这里替换成value可能把原来大写的内容替换成小写,所以应该是替换成match到的值,正确的写法是

curr.title = curr.title.replace(regex, (val,index) => {
  return '<span style="color:red;">' + val + "</span>";
});


顶部