求一个正则,需求是这样的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
提交
取消