Expresión regular de comentarios de Java: egrep "(/\*\* | /* | \*/ | \*\*/)" text.txt

Expresión regular de comentarios de Java: egrep "(/\*\* | /* | \*/ | \*\*/)" text.txt

Estoy intentando extraer líneas que comienzan o finalizan un comentario de Java:

Lo que tengo es:

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

Noté que esto funciona para todas las líneas (como /* comentario */) excepto aquellas que contienensolo/*, /**, **/ o */ y nada que lo preceda o siga.

¿Por qué es esto?

Respuesta1

Su patrón egrep "(/** | /* | */ | **/)" text.txtcontiene espacios explícitos; Pruébalo sin ellos:egrep "(/**|/*|*/|**/)" text.txt

Respuesta2

Estás incluyendo espacios dentro de tu patrón y estás olvidando las líneas de comentarios que comienzan con //.

Con:

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

Veo todas las líneas que comienzan o finalizan comentarios, incluidas las líneas que solo contienen los tokens. Por ejemplo...

texto.txt:

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

Producción:

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

información relacionada