Expresión regular para coincidir fragmentos Javadoc
Pregunta
me hizo pensar en un expresiones regulares para hacer coincidir javadoc los comentarios que incluyen algún texto especificado.
Por ejemplo, la búsqueda de todos los javadoc fragmentos que incluyen @deprecated
:
/**
* Method1
* .....
* @deprecated
* @return
*/
Me las arreglo para llegar a la /\*\*.*?@deprecated.*?\*/
expresión, pero esto no funciona en algunos casos como:
/**
* Method1
* .....
* @return
*/
public int Method1() { }
// this method should be @deprecated
public void Method2() { }
/**
* Method3
* .....
* @return
*/
public int Method3() { }
donde coincide con todo el código de la primera javadoc fragmento de hasta el 3 javadoc fragmento.
¿Puede alguien dar una expresiones regulares para esto?
Solución
Prueba con esto:
/\*\*([^\*]|\*(?!/))*?@deprecated.*?\*/
Otros consejos
metodo2 () no tiene un comentario Javadoc y está para ello no obsoleta (aunque el comentario afirma que debería ser).
Además, si se desea extraer información a partir de los comentarios Javadoc que recomiendo mirar en el javadoc herramienta y escribir un Doclet . Tiene fácil acceso a toda la información del comentario Javadoc a partir de ahí.