将正则表达式加粗为HTML中的匹配项

Regular Expressions to bolden matches in HTML

本文关键字:HTML 正则表达式      更新时间:2023-09-26

我正试图编写一个函数,将字符串数组与HTML代码字符串相匹配。然后,它会在比赛周围加上一个粗体和/粗体。现在,如果我将字符串与常规文本进行匹配,函数将类似于:

function boldText(matches, text)
{
    var pattern = new RegExp(matches.join("|"),"g");
    text.replace(pattern,"<b>"+__what to write here?__+ "</b>"
}

但是,由于它是一个HTML文件,所以我不想将小于号和大于号之间的任何内容加粗。只有HTML标记之外的内容才应该加粗。那个正则表达式可能是什么?

重申一下,我正在寻找一个匹配的正则表达式,当且仅当匹配不在"小于符号"+任意数量的字符和任意数量的字符串+"大于符号"之间

啊,没有人回答我:(

您应该使用$&模式,如下所示:

text.replace(pattern, '<b>$&</b>');