我们正在开发一个eclipse插件工具来从工作区项目中删除sysout语句。我们只能部分地实现我们的目标。如果sysouts在一行中,我们可以轻松删除它。但是如果sysout跨越几行(通常由于代码格式化而发生),那么就是我们遇到问题的时候。
例如:
System.out.println("Hello World");
删除此行的正则表达式很简单:
System.out.println*
但如果代码是这样的话:
System.out.println(New Line)("HelloWorld");
这就是问题所在。任何人都可以建议我如何使用java正则表达式替换它。
答案 0 :(得分:0)
我建议
String regex = "System\.out\.println[^)]+[)]\s*;"
[^)]+
将扫描到右括号。但是,在多种情况下,这将失败:
加倍努力,使用Eclipse's in-built parser(了解词汇问题,注释,并可以标记对System.out的任何编译时引用)。