gvim正则表达式

正则表达式在Linux系统中用处非常广
正则表达式功能强大,如果运用自如,则可以完成很多难以想象的操作。
gvim,perl,sed都会使用。

:%s/foo(\([^,]*\),\([^,]*\),\([^,]*\)/foo(\2,\1,\3)/g

gvim的正则表达式主要运用在搜索命令和替换命令
搜索命令 /正则表达式
替换命令 :/正则表达式/替换字符串/选项

元字符
·,任意字符
[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字。
[^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符以外的任意字符。
\d 匹配阿拉伯数字,等同[0-9]
\D,阿拉伯数字之外的任意字符
\x,匹配十六进制数字,等同于[0-9A-Fa-f].
\X,匹配十六进制数字指纹的字符
\w,匹配单词字母,等同于[0-9A-Za-z_] 注意还有下划线
\W,匹配单词之外
\t,匹配字符
\s,匹配空白字符,等同于[\t]
\S,匹配非空白字符

特殊字符 用反斜杠去转义/
* ,匹配 星
.,匹配.
/,匹配/
\,匹配
[,匹配[

*匹配0-任意个
+匹配1-任意个
?匹配0-1个
{n,m}匹配n-m个
{n}匹配n个
{n,}匹配n-任意个
{,m}匹配0-m个

匹配位置
刀了符号 匹配行尾
^匹配行首
<单词词首
>单词词尾

把所有单词help或Help改为大写的HELP
:%s/[Hh]elp/HELP/g

使用单个空格替换一个或多个空格
:%s/ \+/ /g
删除所有的空行(只有一个回车字符)
:g/^$/d :g/^[\t]*[\t]*$/d

删除含有某些字符的行
:g/ERROR/d

删除重复行
:%s/^\(.*\)\n\1$/\1/g 将两行重复行压缩成一行 :%s/^\(.*\)\(\n\1\)\+$/\1/g 将多行重复行压缩成一行 \(xx\) 就是后面继续引用的\1,如果有多个\(xx\) 那么就用\2 \3来重复引用

交换列表中所有连字符分隔的条目的顺序
ABC:XYZ
:%s/\(.*\):\(.*\)/\2:\1/g

函数式 格式:: s/替换字符串/=函数式
将各行的id字符串替换为行号
:%s/\<id\>/\=line(".") (\<表示词首,\>表示词尾)
将每行开头的单词替换为(行号-10)
:%s/^\<\w\+\>/\=(line(".")-10)

sed 用来直接处理文件 (shell命令)
简单示例:
1.删除所有空行
sed 's/^$/d' *.txt *.txt 表示任意以.txt结尾的文件
2.删除所有只包含空格或者制表符的行
sed 's/^[]*$/d' price.txt
3.删除所有引号
sed '/" //g' price.txt

每日打卡:《周易》与跪哄女朋友hhhh,她最近很忙不需要哄睡服务hhh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值