论坛首页 Web前端技术论坛

用正则在Eclipse上对javascript批量缩进

浏览 4053 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-08  
  一直没有找到好用的 javascript格式化工具,不过UE有个非常漂亮的功能,多行编辑,可以轻松的批量缩进。
  但是eclipse呢?很遗憾,没有,不过用正则表达式可以轻松完成这个功能,匹配整行,替换时在行前加上缩进空格。

find:^.*
replace With:  $0

说到这个正则,鄙视一下js的正则语法,居然匹配组是 $1 $2 $3 ....索引从1开始,但是匹配全部为什么要来个$&?  多么难记??还是eclipse的$0方便
而且js的match函数返回的数组还是 [全匹配,组1,组2....],全匹配索引就是0嘛! 居然要来个$&??
扼杀我们的联想天性。

   发表时间:2007-06-08  
$&表示全匹配也是约定俗成的吧,ruby里面也是这样的,perl应当更是如此
0 请登录后投票
   发表时间:2007-06-08  
$0 很容易以为是第一组的
0 请登录后投票
   发表时间:2007-06-08  
是吧,$&应该算历史原因吧,不过我感觉没有$0直观。

既然第一组是$1,
很容易联想到全匹配就是$0.
eclipse就是这样的,我也没看任何参考,但是试了一下$&不行,马上就试$0.通过。
想想,假如是$&. 开始不知道,你能猜出来吗?

我感觉最好的状态就是,不需要学习太多枯燥的约定,很多东西能通过联想知道,这样才好:)

或许,对于有类似经验的人,这样还好点。
但是,对于初学者,这是让费人家的记忆细胞。
0 请登录后投票
   发表时间:2007-06-08  
js是根据perl的。perl是罪魁祸首。
perl中,$0返回perl程序名字,就和sh一样。ruby也是如此。

但是perl6可能又不一样了,perl6可能$0返回第一个子pattern。而且嵌套pattern是这样$0[1](实际上是$\[0][1]),就表示匹配第一个括号里的第二括号。。。



0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics