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

时间:2014-09-23 08:49:10

标签: javascript regex replace firefox-addon

我正在寻找用一个字符串替换多个单词。我正在尝试使用替换方法(here the description),但我不能将它用于多个单词。让我举一个例子:

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);

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

1 个答案:

答案 0 :(得分:1)

使用单|代替||。正则表达式只支持OR

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(new RegExp("lol|hi","gim"),"ok");

.replace仅使用两个参数。检查here