Question

This question got me thinking in a regex for matching javadoc comments that include some specified text.

For example, finding all javadoc fragments that include @deprecated:

/**
* Method1
* .....
* @deprecated
* @return
*/

I manage to get to the expression /\*\*.*?@deprecated.*?\*/ but this fails in some cases like:

/**
* Method1
* .....
* @return
*/
public int Method1() { } 

// this method should be @deprecated
public void Method2() { }    

/**
* Method3
* .....
* @return
*/
public int Method3() { } 

where it matches all the code from the 1st javadoc fragment until the 3rd javadoc fragment.

Can someone give a regex for this?

Was it helpful?

Solution

Try this one :

/\*\*([^\*]|\*(?!/))*?@deprecated.*?\*/

OTHER TIPS

method2() does not have a javadoc comment and is therefor not deprecated (though the comment states it should be).

Also, if you want to extract information from the javadoc comments I’d recommend looking into the javadoc tool and writing a Doclet. You have easy access to all the information from the javadoc comment from there.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top