Java注释正则表达式:egrep "(/\*\* | /* | \*/ | \*\*/)" text.txt

Java注释正则表达式:egrep "(/\*\* | /* | \*/ | \*\*/)" text.txt

我正在尝试提取 Java 注释开始或结束的行:

我所拥有的是:

egrep "(/** | /* | */ | **/)" text.txt

我注意到这适用于所有行(例如 /* comment */),除了那些包含仅有的/*、/**、**/ 或 */ 并且其前后没有任何内容。

为什么是这样?

答案1

您的模式egrep "(/** | /* | */ | **/)" text.txt包含明确的空格;尝试没有它们:egrep "(/**|/*|*/|**/)" text.txt

答案2

您在模式中包含空格,并且忘记了以 开头的注释行//

和:

egrep "(/\*\*|/\*|\*/|\*\*/|//)" text.txt

我看到所有开始或结束注释的行,包括仅包含标记的行。例如...

文本.txt:

this should not be there
// this should be there
/* and this too */
/** even this
should be there too **/
/* or
that
also */
not this
/*
*/
/**
**/

输出:

// this should be there
/* and this too */
/** even this
should be there too **/
/* or
also */
/*
*/
/**
**/

相关内容