Vim正则通配符使用心得】的更多相关文章

目的 实现替换 c f[i][j][k] -> f[k][i][j] f[i + 1][j][k] -> f[k][i + 1][j] f[i + 1][j + NY][k] -> f[k][i + 1][j + NY] 实现方法 :%s/\[k\]\(\[.\{,6}\]\)\(\[.\{,6}\]\)/\1\2\[k\]/g…
http://www.cppblog.com/kefeng/archive/2010/10/20/130574.html Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作. 如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节. 一.使用正则表达式的命令 使用正则表达式的命令最常见的就是 / (搜索)命令.其格式如下: /正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间的字符串. :s/正…
最近使用vim的正则替换功能,非常强大 一个文件: ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, 现在需要删除逗号前面的内容,那么在vim敲入命令: :%s/.*,//g 得到的结果是: 如果想要替换第一个逗号前面的内容该如何哪? :%s/.\{-},// 结果是: , , , , , , , , , ,…
比如多匹配使用 .* 效果自然是贪婪模式,JS 的非贪婪很简单,是 .*? 即可,而 vim 不同,语法是 .\{-},注意 \ 转义.…
# -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10秒后,ex1将会失效 expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ''' pool = redis.ConnectionPool(host='192.168.3.128', port=637…
:[range]s/from/to/[flags] range:搜索范围,如果没有指定范围,则作用于但前行. :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换: :10s/from/to/ 表示只在第10行搜索替换: :%s/from/to/ 表示在所有行中搜索替换: 1,$s/from/to/ 同上. flags 有如下四个选项: c confirm,每次替换前询问: e error, 不显示错误: g globle,不询问,整行替换.如果不加g选项,则只…
$a = preg_match('/ph+p/','aaaphpbbbp'); +的前导就是h $a = preg_match('/ph+p/','aaaphhhhhhhhhhpbbbp'); //第一个参数是匹配模式 //什么叫匹配,通过模式一个个比过去,注意这里是一个个 echo $a; $a = preg_match('/ph{3}p/','aaaphhhpbbbp'); echo $a; $一般加载模式字符串的尾巴上.表示从尾巴开始匹配 $a = preg_match('/php$/',…
在正规表达式中使用 \( 和 \) 符号括起正规表达式,即可在后面使用\1 \2等变量来访问捕获的内容. 将捕获内容前后交换,如下: :s/\(\haha\)\(hehe\)/\\/…
function regDir(str){ var reg=str if(typeof reg=="string"){ reg=reg.replace(/[\[\]\\\^\:\.\?\+]/g,function(m){ return "\\"+m; }) reg=reg.replace(/\*\*|\*/g,function(m){ if(m=="**"){ return "[\\w\\W]*"; }else{ return…
VIM 用正则表达式 批量替换文本,多行删除,复制,移动 在VIM中 用正则表达式 批量替换文本,多行删除,复制,移动 :n1,n2 m n3     移动n1-n2行(包括n1,n2)到n3行之下: :n1,n2 co n3    复制n1-n2行(包括n1,n2)到n3行之下: :n1,n2 d        删除n1-n2行(包括n1,n2)行: vi替换使用规则: :g/s1/s/s2/s3/g 第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s…