使用javascript正则表达式解析.gitmodules文件以获取分支、路径和url
我想使用javascript正则表达式解析.gitmodules文件以获得分支、路径和url的详细信息 .git模块使用javascript正则表达式解析.gitmodules文件以获取分支、路径和url,javascript,regex,github,Javascript,Regex,Github,我想使用javascript正则表达式解析.gitmodules文件以获得分支、路径和url的详细信息 .git模块 [submodule "PATH"] path = <PATH> url = <URL> [submodule "PATH"] path = <PATH> url = <URL> branch = <BRANCH> [子模块“路径”] 路径= url= [子模块“
[submodule "PATH"]
path = <PATH>
url = <URL>
[submodule "PATH"]
path = <PATH>
url = <URL>
branch = <BRANCH>
[子模块“路径”]
路径=
url=
[子模块“路径”]
路径=
url=
分支=
这是我计算出来的代码
parseGitModules: function (data, callback) {
var gitModules = data.split("["),
subModulesCollections = [];
_.each(gitModules, function (submodules) {
if (/^submodule*/.test(submodules)) {
var submodule = submodules.split("\n\t"),
moduleDetails = {};
_.each(submodule, function (sub) {
var parseSubmoduleDetails = [],
sub = sub.replace(/\n/g,'').replace(/\s/g,'').replace(/\"/g,'=');
parseSubmoduleDetails = sub.split("=");
switch(parseSubmoduleDetails[0]) {
case "submodule":
moduleDetails.submodule = parseSubmoduleDetails[1];
break;
case "path":
moduleDetails.path = parseSubmoduleDetails[1];
break;
case "branch":
moduleDetails.branch = parseSubmoduleDetails[1];
break;
case "url":
moduleDetails.url = parseSubmoduleDetails[1];
break;
};
});
subModulesCollections.push(moduleDetails);
}
});
callback(null, subModulesCollections);
}