java代码注释和空行删除,软著源码

notepad++替换,结合正则表达式处理

匹配//单行注释

//.*

匹配

/**
*    多行
*    注释
*/

注意需要非贪婪模式,所以有一个?
使用

/\*{2}[\s\S]*?\*/
说明:
\s表示空格、换行、制表符之类的空白
\S则表示\s的补集
二者合在一起表示所有字符
包括了换行符,所以这个正则表达式能够匹配多行

匹配空行,空行是指该行没有空格和换行之外的其他内容,开头不能有文字内容,如果没有^则会匹配一行代码的结尾和第二行开头,然而这是正常的换行

^\s*\n

上面多行注释的匹配,需要非贪婪模式
如果没有那个问号,将会把这一整块都匹配进去,第一块多行注释的头/**和最后一个多行注释的尾*/之间的所有内容,即会跨多个多行注释块

/**
* 666
* 6666
*/

cout<<"fdafasdf";
cout<<"fdafasdf";
cout<<"fdafasdf";

/**
* 888
* 8888
*/
posted @ 2023-10-08 14:34  ecnu_lxz  阅读(76)  评论(0编辑  收藏  举报