为了账号安全,请及时绑定邮箱和手机立即绑定

js正则,匹配 '@group/package@version' 的第二个@字符

js正则,匹配 '@group/package@version' 的第二个@字符

呼如林 2018-12-19 08:45:48
求一个正则,需求是这样的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] };
}


查看完整回答
反对 回复 2018-12-19

没有找到匹配的内容?试试慕课网站内搜索吧

  • 1 回答
  • 0 关注
  • 514 浏览
慕课专栏
更多

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号