正则表达式替换引号之间的值

时间:2013-05-08 07:13:40

标签: javascript regex

我试图替换文件中的2个变量值。我将nodejs中的文件内容读入一个字符串。我需要搜索这些变量并替换它们的值。

原始字符串

var useStub = false;var serviceUrl = 'http://servicetest.test.com';

我想运行某种命令,比如

var result = someFile.replace(regex, 'http://servicestage.stage.com');
var result = someFile.replace(regex, 'true');

在这个命令之后我希望输出像

var useStub = true;var serviceUrl = 'http://servicestage.stage.com';    

我尝试了几个正则表达式模式,但它没有得到我需要的输出。我有很少的exp与正则表达式。有人可以帮我这个吗?


最终在@FloatingCoder的帮助下完成了工作。

var text = "var useStub=false;var serviceUrl='http://servicetest.test.com';var hello='sdfdsfs';";
text = text.replace(/var serviceUrl='.*?';/, "var serviceUrl='http://newurl.test.com';");
text = text.replace(/var useStub=.*?;/, "var useStub=true;");
console.info(text);

Here is the fiddle for others

1 个答案:

答案 0 :(得分:2)

试试这个......

var text = "var useStub = false;var serviceUrl = 'http://servicetest.test.com';";

text = text.replace(/var serviceUrl = '.*?';/, "var serviceUrl = 'http://newurl.test.com';");
text = text.replace(/var useStub = .*?;/, "var useStub = true;");

document.getElementById("output").innerHTML = text;

这可能需要更多调整,具体取决于文件中的其他内容,但根据您的指示,这将有效。

有一个JSFiddle与here一起玩。