Javascript,搜索多个单词并自行替换.如果找到,只替换其中的1个

0 javascript replace str-replace

我需要在标签中单独替换几个单词.例如

文本文本文本狗文本猫文本文本鼠标.

需要被替换<b>dog</b>或者<b>cat</b>或者<b>mouse</b>如果匹配.我需要更换一次.如果它发现单词dog意味着替换唯一的狗<b>dog</ b>.仅此而已.即使老鼠是文本.

我有代码.

var str = "dog text cat text mouse",
    reg = /dog|cat|mouse/;
str = str.replace(reg, '<b>dog</b>').
Run Code Online (Sandbox Code Playgroud)

对不起,这只能替换任何匹配的<b>dog</b>.请帮帮我.

Guf*_*ffa 5

使用该g标志进行全局搜索,而不是仅替换第一次出现.

在正则表达式中使用括号来捕获匹配项,并$1在替换项中使用括号来使用您捕获的内容.

var str = "dog text cat text mouse";
var reg = /(dog|cat|mouse)/g;
str = str.replace(reg, '<b>$1</b>')
Run Code Online (Sandbox Code Playgroud)