知道java中怎么用正则表达式去掉sql代码段的注释吗?
比如
create teable testtable1as
(select * from tablename1
);
--sql2
create teable testtable2as
(select * from tablename2
);
/*sql3*/
create teable testtable3as
(select * from tablename3
);
要把这两种注释都去了,正则表达式如何写呀?
最好有完整的代码

解决方案 »

  1.   

    我也是新手,我不好说怎么搞
    但是我有个思路就是像在用 bufferedwriter 写文件的时候,先用 bufferedreader的readline一行一行的读
    然后使用检测
    当读到那一行的数据后,用charAt 来循环检测,当检测到两个连续的‘-’的时候
    着一行后面的数据都不写入
    我感觉利用这个思路可以做出来楼主需要的效果
    呵呵。给不给分都没事
    我主要是想验证一下我的思路是否正确
    希望高手给个指点
    谢谢
      

  2.   

    然后多行注释就是当读到*号的时候
    检测他的上一个字符如果是/
    后面的数据继续读。但是不保存。然后同时检测如果他的下一个字符是/的话,从这个/以后都保存
    不过这个东西还是要sql语句写的规范
    如果能确定所有的sql语句都规范,就更好做了
      

  3.   

    http://community.csdn.net/Expert/topic/4796/4796444.xml?temp=.4255487
    这个帖子你还没结,怎么又问同一个问题?
      

  4.   

    直接用程序写也行 利用字符串匹配的方法 找到第一个“/*”和“*/”记录他们的index值,然后利用replace()函数进行替换