问题 让我思考 正则表达式 用于匹配 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 直到第3个片段 javadoc 分段。

有人可以给一个 正则表达式 为了这?

有帮助吗?

解决方案

尝试这一个:

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

其他提示

method2() 没有 javadoc 注释,因此不被弃用(尽管注释指出它应该被弃用)。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top