替换字符串的所有出现(保留大小写单词)Javascript

替换字符串的所有出现(保留大小写单词)Javascript,javascript,replace,split,Javascript,Replace,Split,我正在尝试替换字符串中出现的所有单词,我遇到的第一个问题是用正则表达式替换大写单词或小写字母,但是我需要将该单词替换为同一个单词添加一些HTML标记,我能够做到,但是当我替换它们时,不保留大写或小写字母。像这样: var string = "Hello, hello, HELLO"; search = "hello"; replacement = "<h1>hello</h1>"; string.split(new RegExp(search,"i")).join

我正在尝试替换字符串中出现的所有单词,我遇到的第一个问题是用正则表达式替换大写单词或小写字母,但是我需要将该单词替换为同一个单词添加一些HTML标记,我能够做到,但是当我替换它们时,不保留大写或小写字母。像这样:

var string = "Hello, hello, HELLO";
search = "hello";
replacement = "<h1>hello</h1>";    
string.split(new RegExp(search,"i")).join(replacement);
<h1>Hello<h1>, <h1>hello<h1>, <h1>HELLO<h1>
我明白了:

<h1>hello<h1>, <h1>hello<h1>, <h1>hello<h1>
但是我需要保持大写或小写。我需要这样的东西:

var string = "Hello, hello, HELLO";
search = "hello";
replacement = "<h1>hello</h1>";    
string.split(new RegExp(search,"i")).join(replacement);
<h1>Hello<h1>, <h1>hello<h1>, <h1>HELLO<h1>

你可以做那样的事。

太好了!这就是我需要的!1美元是多少?你能解释一下吗?$1是对正则表达式中第一个正则表达式捕获组的引用。在本例中,regex/hello/ig有一个捕获组,由hello的括号表示。当您引用$1时,您引用的是与该捕获组匹配的任何文本。这将是你的原文。