ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

IC学习——gvim正则表达式

2022-04-19 23:02:01  阅读:219  来源: 互联网

标签:字符 匹配 正则表达式 gvim 单词 等同于 IC foo 任意


/正则表达式:搜索命令

:s:替换命令

:s/正则表达式/替换字符串/选项

元字符:

* 匹配任意一个字符
[abc] 匹配方括号中的任意一个字符,可以用-表示范围如[a-z0-9]匹配小写字母和阿拉伯数字
[^abc] 在方括号内开头使用^号,表示匹配方括号中字符之外的任意字符
\d 匹配阿拉伯数字,等同于[0-9]
\D 匹配阿拉伯数字外的任意字符,等同于[^0-9]
\x 匹配十六进制数字,等同于[0-9A-Fa-f]
\X 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]
\w 匹配单词字母,等同于[0-9A-Za-z]
\W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z]
\t 匹配<TAB>字符
\s 匹配空白字符,等同于[\t]
\S 匹配非空白字符,等同于[^\t]

特殊字符:

\* 匹配*字符
\. 匹配.字符
\/ 匹配/字符
\\ 匹配\字符
\[ 匹配[字符

表示数量的元字符:

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

表示位置的符号:

$ 匹配行尾
^ 匹配行首
\< 匹配单词词首
\> 匹配单词词尾

实例:

1.把所有单词help或Help都改为大写的HELP

:%s/[Hh]elp/HELP/g

2.使用单个空格替换一个或多个空格

:%s/space\+/space/g   注:空格是空字符可能不明显用spcae替代

3.删除所有空行(没有任何字符,除了回车)

:g/^[\t]*$/d

4.删除含有某些字符的行

:g/ERROR/d

5.删除每行的所有的前导空格

:%s/^space*//g

6.在文件中的每一行的开始插入->(或其他字符)

:%s/^/->/g

7.在每一行的尾部加上一个句号(或其他字符)

:%s/$/。/g

8.删除以数字开头的行

:%s/^\d.*$//g

9.删除以[a,b,c]开头的行

:%s/^[a|b|c].*$//g

10.删除重复行

:%s/^\(.*\)\n\1$/\1/g 将两行重复行压缩成一行

:%s/^\(.*\)\(\n\1\)\+$/\1/g 将多行重复行压缩成一行

使用\(和\)符号扩起正则表达式,即可在后面使用\1 \2等变量来访问\(和\)中的内容

实例:

1.交换列表中所有连字符分隔的条目的顺序

ABC:XYZ

:%s/\(.*\):\(.*\)/\2:\1/g

2.将所有方法foo(a,b,c)的实例改为foo(b,a,c)

foo(bar(8),x+y+z,5) -> foo(x+y+z,bar(8),6)

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

3.查找test开头的后面为一个或多个空格,然后为一个单词。将test和这个单词调换位置

:%s/\(test\)\s\+\(\w\+\)space/\2space\1/g

函数式:

格式:

  :s/替换字符串/\=函数式

例1:将各行的id字符串替换为行号

:%s/\<id\>/\=line(".")

例2:将每行开头的单词替换为(行号-10)

:%%s/^\<\w\+\>/\=(line(".")-10)

标签:字符,匹配,正则表达式,gvim,单词,等同于,IC,foo,任意
来源: https://www.cnblogs.com/jian-jia/p/16167846.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有