浏览 4053 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-08
但是eclipse呢?很遗憾,没有,不过用正则表达式可以轻松完成这个功能,匹配整行,替换时在行前加上缩进空格。 find:^.* replace With: $0 说到这个正则,鄙视一下js的正则语法,居然匹配组是 $1 $2 $3 ....索引从1开始,但是匹配全部为什么要来个$&? 多么难记??还是eclipse的$0方便 而且js的match函数返回的数组还是 [全匹配,组1,组2....],全匹配索引就是0嘛! 居然要来个$&?? 扼杀我们的联想天性。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-08
$&表示全匹配也是约定俗成的吧,ruby里面也是这样的,perl应当更是如此
|
|
返回顶楼 | |
发表时间:2007-06-08
$0 很容易以为是第一组的
|
|
返回顶楼 | |
发表时间:2007-06-08
是吧,$&应该算历史原因吧,不过我感觉没有$0直观。
既然第一组是$1, 很容易联想到全匹配就是$0. eclipse就是这样的,我也没看任何参考,但是试了一下$&不行,马上就试$0.通过。 想想,假如是$&. 开始不知道,你能猜出来吗? 我感觉最好的状态就是,不需要学习太多枯燥的约定,很多东西能通过联想知道,这样才好:) 或许,对于有类似经验的人,这样还好点。 但是,对于初学者,这是让费人家的记忆细胞。 |
|
返回顶楼 | |
发表时间:2007-06-08
js是根据perl的。perl是罪魁祸首。
perl中,$0返回perl程序名字,就和sh一样。ruby也是如此。 但是perl6可能又不一样了,perl6可能$0返回第一个子pattern。而且嵌套pattern是这样$0[1](实际上是$\[0][1]),就表示匹配第一个括号里的第二括号。。。 |
|
返回顶楼 | |