用粗体字符串替换部分匹配字符串

时间:2017-02-04 02:51:16

标签: javascript regex

我想用粗体字符串替换字符串的匹配部分。

const str = 'This is an Example';
const term = 'exam';

现在我想得到结果

This is an <strong>Exam</strong>ple

我尝试使用regEx,但是这种接缝的语法错误,而且示例的大写将被忽略:

const result = str.replace(new RegExp(escapeRegExp(term), 'g'), '<strong>' + term + '</strong>');

2 个答案:

答案 0 :(得分:1)

如果要捕获不区分大小写,则需要包含i标志。此外,如果您想保留原始案例而不是将其替换为term,则可以按如下方式使用捕获组:

const str = 'This is an Example';
const term = 'exam';
const result = str.replace(new RegExp(`(${term})`, 'gi'), '<strong>$1</strong>');

console.log(result);

答案 1 :(得分:0)

在表达式上添加i标志:

执行不区分大小写的匹配

  new RegExp(term, 'gi')