正则表达式查找未注释的 println

发布于 2024-10-23 20:25:37 字数 247 浏览 3 评论 0原文

有人可以分享一个正则表达式来找到java代码中所有非双斜杠注释的 println 吗?

示例:(

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

我使用这个正则表达式来抛出 Eclipse 搜索对话框)

Can someone share a regex that find all not double-slashed commented println in java code?

Example:

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

(I'm using this regex into throw eclipse searching dialog)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昔梦 2024-10-30 20:25:37

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

以下正则表达式匹配其中包含 System.out.printwithout ///* 的单行> 在它之前(在同一行!)。

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

或者简单地:

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

然后可以替换为:

//$0

来评论它。

再次强调:多行注释会出错,正如 Kobi 提到的,像 /* // */ System.out.print... 这样的东西仅举出此正则表达式将出现的许多情况中的两个绊倒。

还要考虑这一行:

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

你不想最终得到:

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

Okay, as I already mentioned, regex is not the right tool, so if you end up using my suggestion, be sure to backup your source!

The following regex matches a single line that has System.out.print in it, without // or /* before it (in that same line!).

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

or simply:

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

which can then be replaced with:

//$0

to comment it.

Again: this will go wrong with multi line comments, and as Kobi mentioned, stuff like /* // */ System.out.print... to name just two of the many cases this regex will trip over.

Also consider the line:

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

you don't want to end up with:

//System.out.println("..."); /*
comments
*/
极度宠爱 2024-10-30 20:25:37

你也许可以做一些简单的事情,比如:

^[ \t]*[^/][^/].*println.*

You could probably just do something simple like:

^[ \t]*[^/][^/].*println.*
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文