Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 395
Pacerier Avatar asked Jan 31 '12 11:01

Pacerier


1 Answers

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

like image 146
Prashant Bhate Avatar answered Oct 19 '22 23:10

Prashant Bhate