Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex替换引号之间的值_Javascript_Regex - Fatal编程技术网

Javascript Regex替换引号之间的值

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

我试图替换文件中的两个变量值。我将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';    
我尝试了几个正则表达式模式,但没有得到我需要的输出。我对正则表达式几乎没有经验。有人能帮我吗


在@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变量也将在第一个正则表达式中匹配。这是小提琴!我的小提琴由于某种原因没有得到更新(即我忘记单击更新:),因此它与发布的代码不匹配。很高兴你成功了!