背景
在处理某些内容时,需要对内容进行文本处理。
例如匹配关键字飘红、高亮、插入链接等。
但img、video、audio等标签自带title,不需要处理,可用以下表达式。
匹配 除 img标签外的关键字
const reg = new RegExp(`${关键字}(?![^<img]*[\/(.*?)>])`, 'gm')
const content = ${待处理内容}.replace(reg, `${需要替换的内容}`)
重点
- gm 可匹配全部关键字 / m 匹配第一个关键字;
- img 可换成其他标签;
- 需要匹配多个标签可改成👇
new RegExp(`${关键字}(?!([^<img]*[/(.*?)>]|[^<video]*[/video>]|[^<audio]*[/audio>]))`, 'gm')