gpt4 book ai didi

javascript - 获取常规注释语法之间的文本

转载 作者:行者123 更新时间:2023-11-28 10:50:09 25 4
gpt4 key购买 nike

因此,如果我想抓取排除评论系统之间的文本:

/*this is a comment*/
//this is too
//and so is this...
This, however, isn't.

输出将是

This, however, isn't.

我怎样才能用 JavaScript 做到这一点?我本来打算获取它的正则表达式,但我不知道如何处理以空格结尾的注释...

如有任何帮助,我们将不胜感激。

编辑:也许我一直不清楚。

我有一个上面的文本数组。我想删除评论中没有的任何内容,并按原样显示评论。所以:

/*This is a longggg
comment that crosses several lines
etc etc etc*/
this is plain text. i want to ignore this //however, this is another comment
/*one more comment here*/

这将输出为:

 /*This is a longggg
comment that crosses several lines
etc etc etc*/
//however, this is another comment
/*one more comment here*/

最佳答案

您无法使用正则表达式可靠地完成此操作。您应该使用一个去除注释的 minifer(如 uglify),或一个 JS 解析器(如 esprima)。话虽如此,以下方法可能或多或少有效:

/\/\*[^]*?\*\/|\/\/.*$/gm
^^^^^^^^^^^^^ CAPTURE /* */ COMMENTS
^^^^^^^ CAPTURE // COMMENTS

注意顺序。我们需要首先查找 /* */ 样式注释,否则我们可能会在 /* */ 中找到 // 序列>.

在这里使用[^]来拾取任何字符,包括换行符。其他人喜欢使用[\s\S]

但是,这不能正确处理字符串中类似注释的内容。

关于javascript - 获取常规注释语法之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34669338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com