javascript 正则表达式 - 删除评论

标签 javascript regex

例子来自eloquent javascript书。虽然书中有一些解释,但它真的很难理解,但任何人都可以从初学者的 Angular 解释它。我很难理解哪个斜杠是什么意思。

function stripComments(code) {
  return code.replace(/\/\/.*|\/\*[^]*\*\//g, "");
}

最佳答案

评论可以有两种形式:

// this is a comment
/* this is a comment */

很遗憾,/* 都是正则表达式中的特殊字符,因此必须对其进行转义。

所以我们从一个空的匹配表达式开始

//g

我们将其设置为匹配第一种形式,// 后跟任意数量的字符,即 //.* 但斜线必须转义

/\/\/.*/g

另一种形式,/* 后跟 *//*[^]**/ 但我们必须转义文字斜杠和星号

\/\*[^]*\*\/

然后将这两种形式与表示“或”的 | 字符组合:

\/\/.*|\/\*[^]*\*\/

并插入到空的正则表达式中

/\/\/.*|\/\*[^]*\*\//g

关于javascript 正则表达式 - 删除评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548501/

相关文章:

python - sre_constants.error : nothing to repeat

java - 在多行正则表达式模式之后解析文本行

php - Laravel 正则表达式验证价格或为空

c# - 生成排列时出现 System.OutOfMemoryException

javascript - Socket IO 房间 : Get list of clients in specific room

javascript - 我们可以将 PDF 文件从 AngularJS 客户端发送到 NodeJS 服务器吗

javascript - 有什么方法可以实现 "optimize"这个简单的函数吗? (我没有遵循最佳实践吗?)

javascript - Webpack:独立的生产和开发构建

javascript - 列表元素不滑动新元素

ios - 从字符串中提取 NSDecimalNumber 以及其中的字符