9

这个问题让我想到了一个正则表达式来匹配包含一些指定文本的javadoc注释。

例如,查找所有包含以下内容的javadoc片段@deprecated

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

我设法得到表达式/\*\*.*?@deprecated.*?\*/,但在某些情况下失败,例如:

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

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

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

它匹配从第一个javadoc片段到第三个javadoc片段的所有代码。

有人可以为此提供正则表达式吗?

4

2 回答 2

14

试试这个:

/\*\*([^\*]|\*(?!/))*?@deprecated.*?\*/
于 2009-03-27T11:28:13.870 回答
0

method2() 没有 javadoc 注释,因此不推荐使用(尽管注释说明它应该是)。

此外,如果您想从 javadoc 注释中提取信息,我建议您查看javadoc工具并编写一个Doclet。您可以从那里轻松访问 javadoc 注释中的所有信息。

于 2009-03-27T11:26:12.487 回答