Javascript Regex替换引号之间的值
我试图替换文件中的两个变量值。我将nodejs中的文件内容读入字符串。我需要搜索这些变量并替换它们的值 原始字符串Javascript Regex替换引号之间的值,javascript,regex,Javascript,Regex,我试图替换文件中的两个变量值。我将nodejs中的文件内容读入字符串。我需要搜索这些变量并替换它们的值 原始字符串 var useStub = false;var serviceUrl = 'http://servicetest.test.com'; 我想运行一些命令,比如 var result = someFile.replace(regex, 'http://servicestage.stage.com'); var result = someFile.replace(regex, 'tr
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';
我尝试了几个正则表达式模式,但没有得到我需要的输出。我对正则表达式几乎没有经验。有人能帮我吗
在@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;
这可能需要更多的调整,具体取决于文件中的其他内容,但根据您所给出的,这将起作用
有一个JSFIDLE可供使用。您想将servicetest更改为servicestage吗?我实际上想更改引号之间的整个url以及useStub变量的布尔值。如果替换是在单独的字符串上完成的,这似乎是可行的。最终输出只有“var useStub=true;”。在第二个replace命令中删除了另一个变量。在这里,我更新了小提琴。我试着修改你的小提琴。如果存在另一个变量声明,如var hello='ss';。hello变量也将在第一个正则表达式中匹配。这是小提琴!我的小提琴由于某种原因没有得到更新(即我忘记单击更新:),因此它与发布的代码不匹配。很高兴你成功了!