【发布时间】:2014-10-11 17:04:53
【问题描述】:
我正在处理一个需要我从 java 文件中删除 cmets 的项目。目前,我正在使用正则表达式
(?:/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|(?://.*)
我从 http://ostermiller.org/findcomment.html 那里得到的。
正则表达式效果很好,但问题是我需要在删除 cmets 时保留文件结构。换句话说,如果我有一个 3 行块注释,我需要将它替换为 3 个空行。这是必要的,以便代码保持与原始代码相同的行号。
如何将 3 行块注释替换为 3 个空行?
编辑: 我能够通过使用 SableCC 解决我的问题。
【问题讨论】:
-
为什么需要移除 cmets?也许您应该编写自己的算法。我认为使用正则表达式是不可能的。
-
我可能会为此编写一个 Perl 脚本。在 Java 中会有点困难。
-
您使用的是哪个 IDE?有的直接支持这种东西。
-
如果您不依赖于 Java,您可以使用
sed或awk。他们可以在保留行数的同时删除评论