正则表达式在代码中查找空注释

Posted

技术标签:

【中文标题】正则表达式在代码中查找空注释【英文标题】:Regular expression finding empty comments in code 【发布时间】:2013-07-02 12:21:21 【问题描述】:

我正在寻找一个只查找空 java cmets 的正则表达式,如下所示:

/**
 * 
 */

Eclipse 在例如生成一个串行版本 id...还有另一个 thread 关于查找所有 cmets 但是我没有设法使正则表达式仅“过滤”出空的。

//.*|("(?:\\[^"]|\\"|.)*?")|(?s)/\*.*?\*/

有什么想法吗? 谢谢!

【问题讨论】:

【参考方案1】:

试试这个:

\/\*\*[\s\t\r\n]*[ \*]*[\s\t\r\n]*\*/

应该匹配任何以 /** 开头、以 */ 结尾并且中间只包含换行符、空格或星号的字符串。

【讨论】:

【参考方案2】:

不会

"\\s*/[*]2[*\\s]*[*]/\\s*"

加上Pattern.MULTILINE 标志就够了吗?

它以空格开头(可选),然后是/**,然后只有空格和*,然后是*/(可选),然后是更多空格。

看起来是这样的:

Edit live on Debuggex

【讨论】:

感谢 debuggex 的链接 - 直到现在才知道。似乎很有帮助,特别是对于像我这样的正则表达式 padawan :-)

以上是关于正则表达式在代码中查找空注释的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式在 C# 源文件中查找注释

Python 3 正则表达式查找多行注释

什么是用于查找未注释 Java 代码行的正则表达式?

防止在正则表达式上回溯以查找非注释行(不以缩进的“#”开头)

正则表达式大全(持续更新)|| 正则查找中文 || 正则查找注释

C# & PLSQL - 通过正则表达式查找注释和字符串