Regex for matching javadoc fragments

北战南征 提交于 2019-11-26 21:38:12

问题


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?


回答1:


Try this one :

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



回答2:


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.



来源:https://stackoverflow.com/questions/689354/regex-for-matching-javadoc-fragments

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!