如何在单行源代码注释之间提取文本?

时间:2016-01-13 07:08:38

标签: java regex

我有以下正则表达式来匹配源代码注释:

private Pattern parser = Pattern.compile("^\\s*((?:/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|(?://.*))\\s*$");

此正则表达式将匹配以下类型的注释:

// Comment
/* Comment */
/******** Comment ********/

非常重要的是,这个正则表达式还会在注释之前和之后匹配带缩进的注释。

现在我想创建捕获组,以便我可以轻松访问评论中的文本。

我尝试删除非捕获组,但是没有按预期工作。如何扩展此正则表达式以访问注释中的文本?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您想删除注释中的注释符号和文本,这两个正则表达式将识别注释及其文本,以便您可以删除它们。

\/\*([\S\s]+?)\*\/

(?s)/\*.*?\*/

这两个会删除3种类型的评论

/**** Test ****/

/*
 *
 *  Here is another comment
 *
 *
 */

 /* Comment 




 */

此正则表达式将删除以下类型的注释

//.*$

your code //Comment Comment

NP ++中的示例

Highlights full comment

相关问题