Search code examples
javaeclipsejavadoc

Tool to remove JavaDoc comments?


Is there any tool / Eclipse plugin that can remove all JavaDoc comments in a file?

The normal (non-JavaDoc) comments should be intact after running the tool.


Solution

  • Try this regex to search replace either in eclipse / sed / your favorite editor that has regex support.

    /\*\*(?s:(?!\*/).)*\*/
    
    • ?s treat input as single line
    • a starting string \**
    • zero or more
      • negative lookahead for */
      • space or non space char
    • a trailing string */

    Edit

    To tackle cases where strings containing javadoc, use this regex

    ((?<!\\)"([^"]|(?<=\\)")*")|(/\*\*(?s:(?!\*/).)*\*/)
    

    and replace it with first capture group

    /1
    

    Then if you say this shouldn't match

    ///** */
    

    or more complex cases

    I suggest, using a parser tool like antlr to parse using java grammar for tokens like comments and strings and remove elements that you don't want


    Sometime I find my own regex answers cryptic !!

    So here is some visual feedback

    ((?!\\)"([^"]|(?=\\)")*")|(/\*\*(?:(?!\*/).)*\*/)
    

    Regular expression visualization

    Debuggex Demo


    /\*\*(?:(?!\*/).)*\*/
    

    Regular expression visualization

    Debuggex Demo