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

时间:2011-10-30 19:15:49

标签: javascript replace str-replace

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

  

文本文本文本狗文本猫文本文本鼠标。

如果匹配,则需要由<b>dog</b><b>cat</b><b>mouse</b>替换。 我需要更换一次。如果它找到单词 dog 意味着替换<b>dog</ b>中唯一的狗。仅此而已。即使 cat 鼠标也是文本。

我有代码。

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

抱歉,这只会替换与<b>dog</b>匹配的任何内容。 请帮帮我。

1 个答案:

答案 0 :(得分:5)

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

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

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