Java 删除所有注释,无需执行TODO

Java 删除所有注释,无需执行TODO,java,regex,intellij-idea,Java,Regex,Intellij Idea,这是一个使用intellij idea的java项目(但解决方案不必使用intellij、sed或任何可以使用的东西)。我想删除.java文件中没有todo这个词(不区分大小写)的所有注释。我该怎么做 我不希望评论变成空行。我要整条线消失 所有评论都是这样开始的: // 我在intellij中试过这个: ^\s*//.*?[^Tt][^Oo][^Dd][^Oo].*?\n 但是,这仍然会抓住包含TODO的行。也许这个正则表达式可以帮助您: ^\s*\/\/.*\btodo\b.*$ 这意

这是一个使用intellij idea的java项目(但解决方案不必使用intellij、
sed
或任何可以使用的东西)。我想删除.java文件中没有
todo
这个词(不区分大小写)的所有注释。我该怎么做

我不希望评论变成空行。我要整条线消失

所有评论都是这样开始的:

//
我在intellij中试过这个:

^\s*//.*?[^Tt][^Oo][^Dd][^Oo].*?\n

但是,这仍然会抓住包含
TODO
的行。

也许这个正则表达式可以帮助您:

^\s*\/\/.*\btodo\b.*$

这意味着:

  • ^
    行的开头
  • \s*
    零或更多空间
  • \/\/
    文字
    /
  • *
    零个或多个字符
  • \btodo\b
    单词边界待办事项
  • *
    零个或多个字符
  • $
    行尾

我想要这些结果的倒数

在这种情况下,您可以使用

^(?i)\s*\/\/((?!todo).)*$

到目前为止,您尝试了什么,哪里出了问题?我想要的是所有不是这些结果的评论。您所说的这些结果的倒数是什么意思?检查我的编辑希望这是你想要的!是的,就是这样。我忘了你能做什么?!。谢谢这不是不区分大小写的,但我想我可以在里面放一个[]和|不区分大小写,你可以在乞讨检查我的编辑中使用
(?I)