Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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/4/regex/16.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 正则表达式以匹配package.json内容中的模块_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式以匹配package.json内容中的模块

Javascript 正则表达式以匹配package.json内容中的模块,javascript,regex,Javascript,Regex,我试图以编程方式动态地从package.json文件中添加和删除模块为了实现这一点,我需要一个正则表达式,它可以匹配devDependencies或dependencies中的特定模块 以下是我尝试过的 const packageJsonContent = "my package.json content read from a file"; const moduleName = "babel"; //an example module to be removed from `packageJ

我试图以编程方式动态地从package.json文件中添加和删除模块
为了实现这一点,我需要一个正则表达式,它可以匹配
devDependencies
dependencies
中的特定模块

以下是我尝试过的

const packageJsonContent = "my package.json content read from a file";
const moduleName = "babel";  //an example module to be removed from `packageJsonContent`

let moduleRegex = new RegExp('"\\s*'+moduleName+'\\s*"\\s*:\\s*".*"(\s*,)?'); //<-- I need help here

//remove module
packageJsonContent.replace(moduleRegex, "");
const packageJsonContent=“从文件读取的my package.json内容”;
常量moduleName=“巴别塔”//要从“packageJsonContent”中删除的模块示例`

设moduleRegex=new RegExp(“\\s*”+moduleName+“\\s*”\\s*:\\s*”(\s*,)?)// 您可以先找到您的
依赖项
devdependency
部分,然后从中删除所需的模块,然后在
package.json
文件中替换新的
依赖项
devdependency

考虑改为解析json,并删除
[moduleName]
依赖项
依赖项
对象中的
属性,而不是使用卷积正则表达式:

const moduleName=“babel”;
const packageJSONStr=`{
“name”:“somename”,
“脚本”:{
“构建”:“tslint src/***.ts&&webpack”
},
“作者”:“鲍勃”,
“依赖项”:{
“foo”:“^1.2.3”
},
“依赖性”:{
“巴别塔”:“^1.2.3”,
“ts加载器”:“^6.2.1”,
“类型脚本”:“^3.6.3”,
“网页包”:“^4.41.0”,
“网页包cli”:“^3.3.9”
}
}`;
const packageJSON=JSON.parse(packageJSONStr);
删除packageJSON.dependencies[moduleName];
删除packageJSON.devdependences[moduleName];

log(packageJSON)为什么要为此使用正则表达式?解析JSON不是更好吗?