用于匹配javadoc片段的正则表达式
这个问题让我在正则表达式中思考匹配包含一些指定文本的javadoc注释。
例如,查找包含@deprecated的所有javadoc片段:
/** * Method1 * ..... * @deprecated * @return */
我设法得到表达式/\*\*.*?@deprecated.*?\*/
但在某些情况下失败,例如:
/** * Method1 * ..... * @return */ public int Method1() { } // this method should be @deprecated public void Method2() { } /** * Method3 * ..... * @return */ public int Method3() { }
它匹配第一个javadoc片段中的所有代码,直到第三个javadoc片段。
有人能给这个正则表达式吗?
试试这个:
/\*\*([^\*]|\*(?!/))*?@deprecated.*?\*/
method2()没有javadoc注释,因此没有弃用(尽管注释说明它应该是)。
另外,如果你想从javadoc注释中提取信息,我建议你查看javadoc工具并编写一个Doclet 。 您可以从那里轻松访问javadoc评论中的所有信息。