一半君的总结纸

听话只听一半君

eclipse 如何一次删掉所有单行注释 | 和一些regex ( regular expressions)

试了半天… 这个是符合我要求的

 ^#( ){2,}[^\n]*\n 

我想删除 这种 ctrl + / 加的,# 会出现在第一列

del1

留下这两种(一般是手打的注释)

keep2

keep1

补充:像上面那样删除替换后可能还有很多多行的空白行,还可以用下面的来找到所有>=两行的空白行,替换成一行空白行

(^ *\n)\1+

\1表示match第1个group的内容

但是有时候 出现了不能识别中间混有只有一个\n的行,所以我改成了

 (^ *\n)(^ *\n)+

还遇到其他几种情况,上面的替换完以后 还有一些# # 开头的,这是因为之前单行comment 用了两次,在第一次替换的时候把# ‘# something’ 中引号括起来的部分替换了, 这时可以用

 ^# #[^\n]*\n|^# *\n

把他们都换掉

我还想换掉#—— 开头的,这个可以用

^#-*\n

eclipse comment block可以用

 ^ *#-+.*\n

综上所述,可以使用一个总的

(^#( ){2,}[^\n]*\n)|(^ *#-+.*\n)|(^# #[^\n]*\n|^# *\n)

这步替换完成之后,再把所有>=两行的空白行替换即可

 (^ *\n)(^ *\n)+

我录了一个jedit macro


// This is a recorded macro. First, check over the
// commands to make sure this is what you intended. Then,
// save this buffer, and the macro should appear in the
// Macros menu.
SearchAndReplace.setSearchString("(^#( ){2,}[^\\n]*\\n)|(^ *#-+.*\\n)|(^# #[^\\n]*\\n|^# *\\n)");
SearchAndReplace.setReplaceString("");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setWholeWord(false);
SearchAndReplace.setIgnoreCase(true);
SearchAndReplace.setRegexp(true);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);
SearchAndReplace.setSearchString("(^ *\\n)(^ *\\n)+");
SearchAndReplace.setReplaceString("\\n");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setWholeWord(false);
SearchAndReplace.setIgnoreCase(true);
SearchAndReplace.setRegexp(true);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);

其他几个最近用到的

所有.ma .mb 结尾的文件

 '.*\.(m|M)([a-b]|[A-B])$'

排除含有%s的maya文件

 '^.*%s(m|M)([a-b]|[A-B])$' % ‘excludeStr’
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: