java代码注释和空行删除,软著源码
notepad++替换,结合正则表达式处理
匹配//单行注释
//.*
匹配
/**
* 多行
* 注释
*/
注意需要非贪婪模式,所以有一个?
使用
/\*{2}[\s\S]*?\*/
说明:
\s表示空格、换行、制表符之类的空白
\S则表示\s的补集
二者合在一起表示所有字符
包括了换行符,所以这个正则表达式能够匹配多行
匹配空行,空行是指该行没有空格和换行之外的其他内容,开头不能有文字内容,如果没有^
则会匹配一行代码的结尾和第二行开头,然而这是正常的换行
^\s*\n
上面多行注释的匹配,需要非贪婪模式
如果没有那个问号,将会把这一整块都匹配进去,第一块多行注释的头/**
和最后一个多行注释的尾*/
之间的所有内容,即会跨多个多行注释块
/**
* 666
* 6666
*/
cout<<"fdafasdf";
cout<<"fdafasdf";
cout<<"fdafasdf";
/**
* 888
* 8888
*/