求一个正则,需求是这样的const str = '@group/package@version';const reg = /____/; // 求这个正则const arr = str.split(reg); // 得到 ['@group/package', 'version']
1 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
/**
* 拆分名称和版本号
* @param {String} _package 包的类型总共有4种。
*/function _split(_package) {
// 包的类型总共有4种,
// (1)'smash-cli' => arr = [ 'smash-cli' ]
// (2)'smash-cli@1.0.0' => arr = [ 'smash-cli', '1.0.0' ]
// (3)'@erye/smash-cli' => arr = [ '', 'erye/smash-cli' ]
// (4)'@erye/smash-cli@1.0.0' => arr = [ '', 'erye/smash-cli', '1.0.0' ]
const arr = _package.split('@'); if (arr[0] == '') { // 数组首位是空,符合类型 3、4
arr[1] = '@' + arr[1]; // 给第二位加上 @ 字符
arr.shift(); // 移除首位
} return { name: arr[0], version: arr[1] };
}添加回答
举报
0/150
提交
取消
