正则表达式找到一个未注释的println

前端之家收集整理的这篇文章主要介绍了正则表达式找到一个未注释的println前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以共享一个正则表达式,在 java代码中发现所有不是双重评论的println吗?

例:

System.out.println("MATCH")   /*this line match*/
//    System.out.println("DOESN'T MATCH")  /*this line doesn't match*/

(我正在使用这个正则表达式抛出eclipse搜索对话框)

解决方法

好的,正如我已经提到的,正则表达式不是正确的工具,所以如果您最终使用我的建议,请务必备份您的来源!

以下正则表达式匹配其中包含System.out.print的单行,没有//或/ *之前(在同一行!).

(?m)^((?!//|/\*).)*System\.out\.print.*

或者干脆:

(?m)^[ \t]*System\.out\.print.*

然后可以替换为:

//$0

评论它.

再说一遍:多线注释会出错,正如Kobi所提到的那样,像/ * // * / System.out.print这样的东西只列举了这个正则表达式中的两个案例.

还考虑一下:

System.out.println("..."); /*
comments
*/

你不想最终得到:

//System.out.println("..."); /*
comments
*/

猜你在找的正则表达式相关文章