正则表达式来替换引号之间的值
我试图替换文件中的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);
尝试......
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玩。
如果替换是在单独的字符串上完成的,这似乎工作。最终的输出只有'var useStub = true;'。另一个变量在第二个替换命令中被删除。在这里我更新了小提琴。 http://jsfiddle.net/JjVzz/3/ – blessenm 2013-05-08 08:18:32
我试图修改你的小提琴。如果有另一个变量声明,如var hello ='ss';. hello变量也将在第一个正则表达式中匹配。这里是小提琴http://jsfiddle.net/JjVzz/5/ – blessenm 2013-05-08 08:36:57
得到它的工作http://jsfiddle.net/JjVzz/6/ – blessenm 2013-05-08 10:40:05
你想将servicetest更改为servicestage? – Robert 2013-05-08 07:16:42
我实际上想要改变引号之间的整个url以及useStub变量的布尔值。 – blessenm 2013-05-08 07:18:56