Javascript 如何替换Firefox扩展中的多个单词

Javascript 如何替换Firefox扩展中的多个单词,javascript,regex,replace,firefox-addon,Javascript,Regex,Replace,Firefox Addon,我正在搜索用另一个单词替换字符串中的许多单词。我正在尝试使用replace方法,但我不能将其用于多个单词。让我举一个例子: var test = new String("Hi how are you? lol"); var newTest = test.replace(/lol/, "ok", "gim"); console.log(newTest); 此代码工作正常,并打印“你好吗?好”。我不仅要替换“lol”,还要替换“Hi”,我正在尝试这样做: var test = new Str

我正在搜索用另一个单词替换字符串中的许多单词。我正在尝试使用replace方法,但我不能将其用于多个单词。让我举一个例子:

var test = new String("Hi how are you? lol");   
var newTest = test.replace(/lol/, "ok", "gim");
console.log(newTest);
此代码工作正常,并打印“你好吗?好”。我不仅要替换“lol”,还要替换“Hi”,我正在尝试这样做:

var test = new String("Hi how are you? lol");   
var newTest = test.replace(/lol||hi/, "ok", "gim");
console.log(newTest);

但是第二个版本不起作用。简单的解决方法是将replace函数插入for,并为每个单词调用函数,但我希望一次更改所有单词。你有什么想法吗?非常感谢。

使用单
|
而不是
|
。Regex只支持这样的

var test = new String("Hi how are you? lol");   
var newTest = test.replace(/lol|Hi/gim, "ok");
console.log(newTest);
输出:

ok how are you? ok
而且编写的代码是错误的。gim修饰符只有在这样放置时才会这样工作:
.replace(newregexp(“lol | hi”,“gim”),“ok”)

.replace
仅接受两个参数。检查regex“或”is
|

。还要注意,它将匹配“lolcat”和“hickey”。