有人可以共享一个正则表达式,在java代码中找不到双重评论的println吗?
示例:
System.out.println("MATCH") /*this line match*/
// System.out.println("DOESN'T MATCH") /*this line doesn't match*/
(我正在使用这个正则表达式抛出日食搜索对话框)
答案 0 :(得分:8)
好的,正如我已经提到的,正则表达式不是正确的工具,所以如果您最终使用我的建议,请务必备份您的来源!
以下正则表达式匹配其中包含System.out.print
的单行,without
//
或/*
之前(在同一行!)。
(?m)^((?!//|/\*).)*System\.out\.print.*
或简单地说:
(?m)^[ \t]*System\.out\.print.*
然后可以替换为:
//$0
发表评论。
再说一遍:多行注释会出错,正如Kobi所提到的那样,像/* // */ System.out.print...
这样的东西只列出了这个正则表达式将会绊倒的众多案例中的两个。
还要考虑以下几行:
System.out.println("..."); /*
comments
*/
你不想最终:
//System.out.println("..."); /*
comments
*/
答案 1 :(得分:-2)
你可能只是做一些简单的事情:
^[ \t]*[^/][^/].*println.*