Javaのソースからコメントを削除する正規表現

を作った。

けど完全じゃない。。。 リテラルの中の/* xxx */ の部分を削除してしまう。

できるかなぁ。。。

あと、gsubを2重にしてるのもやめたい。


誰か添削希望 以下ソース
class JavaSource
  def initialize( file_path )
    if file_path && file_path =~ /\.java/
      open( file_path ) {|file|
        @text = file.read
      }
    end
  end

  def comment_strip
    return nil unless @text
    return @text.gsub( %r{/(\*.*?\*/)}m, "").gsub( %r{(//.*$)}, "")
  end

end

src = JavaSource.new( ARGV[0] )
puts src.comment_strip