用好 eclipse 的正则替换
前端代码很自由,这就导致了多数人代码风格比较乱。我是很看不惯代码太乱的,所以,我拿到一些开源的代码的时候,第一件事情,就是对代码进行风格调整。
在不断的追求代码风格统一的过程中,从一开始的自动格式化工具,到一行一行改,到全局替换,到全局正则替换,发现 eclipse 的正则替换实在是太好用了。
把平时可能用到的罗列一下
不带花括号的简单 if else
语句
if (xxx)
xxx;
else
xxx;
变成
if (xxx) {
xxx;
} else {
xxx;
}
Find:
if \((.+)\)\R(\t+)([^\t]+;)\R(\t+)else\R(\t+)([^\t]+;)
Replace:
if ($1) {R$2$3R$4} else {R$5$6R$4}
不带花括号的 if / for / while
语句
if/for/while (xxx)
xxx;
变成
if/for/while (xxx) {
xxx;
}
Find:
(\t+)(if|for|while) *((.+)) *\R(t+)([^t]+;)
Replace:
$1$2 \($3\) \{\R$4$5\R$1\}
删除多余的空行
空行是用以分割代码逻辑块的,而有些人的空行是扯皮的,完全寻不着章法。很不能理解有些人在 {
换行之后(像 function
、if
、for
等),加一个空行再写代码 - 而且他不是每个 {
之后都这样 -_-‘
Find:
\{\R\t*\R
Replace:
\{\R
同样也不能理解 }
之前有个空行。
Find:
\R\t*\R(\t*)\}
Replace:
\R$1\}
补充遗漏的缩进
Find:
\R(\t+.+)\R\R(\t+)(\S)
Replace:
\R$1\R$2\R$2$3
多余的逗号 - 会让 IE 不工作的那种
Find:
,\R([\t ]*)\}
Replace:
R$1}
最后补充
以上的正则适用于代码本身就比较整齐的那种。如果,你平时本身就不管多一个空格少一个空格,或者换行乱换,tab、空格混用,那你的正则表达要写的复杂一些了。
全局替换前最好能预览一遍,以免有些误改了。
最重要的还是,作为一个写代码的人,千万要有自己统一的风格,代码风格没有最漂亮的,只有最统一的。