正则表达式删除注释疑惑

新手上路,请多包涵

看requirejs 源码。使用正则表达式删除代码内部注释的。

var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg;

function commentReplace(match, multi, multiText, singlePrefix) {
    return singlePrefix || '';
}

//如下例子

var func = function(){
/* comment */
console.log('comment') // comment
return ''
}

 func.toString().replace(commentRegExp,commentReplace);

疑惑:

var commentRegExp = /(\/\*([\s\S]*?)\*\/| \/\/(.*)$)/mg;

func.toString().replace(commentRegExp,'')

也可以嘛?

所以问:requirejs 源码里面

commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg;


这里的 ([^:]|^) 有什么作用?
阅读 3.9k
1 个回答
✓ 已被采纳新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题