[英]How do I use regex to replace a string in node?
我在使用以下代码替换字符串时遇到困难。
基本上,我有一个.php文件,我想使用replace包覆盖一些常量。
以下代码的结果如下:
//results in
define('DB_NAME', 'foo'); //original (as defined in config.php)
define('DB_NAME', 'bar''bar'); //actual result
define('DB_NAME', 'bar'); //desired result
var replace = require("replace");
var defineSetting = function(name, value){
replace({
regex: "'DB_NAME', *",
replacement: "'DB_NAME', 'bar'",
paths: ['wordpress/wp-config.php'],
recursive: false,
silent: true,
});
}
defineSetting("DB_NAME", "testDatabase2");
如何获得所需的结果?
试试这个正则表达式: regex: "'DB_NAME', .*"
这对我有用:
regex: "'DB_NAME', [^)]*",
您不替换“ foo”的原因是因为您的正则表达式与“'DB_NAME'”匹配,后跟零个或多个空格。 剩下的'foo');
完整。
说明:
[^)]*
表示匹配零个或多个非封闭字符( )
。
[^]
是一个正则表达式否定字符类组。 这意味着匹配不在此字符列表中的字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.