vim正则匹配若干操作

时间:2022-06-21
本文章向大家介绍vim正则匹配若干操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

三种匹配命令用法:

1、/ (搜索)命令

其格式如下: /正则表达式 如:查找所有空行

/^s*$

2、:s(替换)命令

将第一个//之间的正则表达式替换成第二个//之间的字符串。 :s/正则表达式/替换字符串/选项

3、删除包含特定字符的行

元字符

元字符是具有特殊意义的字符。使用元字符可以表达任意字符、行首、行 尾、某几个字符等意义。

元字符一览

元字符

说明

.

匹配任意一个字符

[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个

表示位置的符号

元字符

说明

$

匹配行尾

^

匹配行首

<

匹配单词词首

>

匹配单词词尾

用例

/chars+[A-Za-z_]w*;                 " 查找所有以char开头,之后是一个以上的空白,
                                             " 最后是一个标识符和分号

/chars+[A-Za-z_]w*;

/dd:dd:dd                        " 查找如 17:37:01 格式的时间字符串

/dd:dd:dd

:s/<four>/4/g                        " 将当前行的four替换成4,但是fourteen中的four不替换

:s/<four>/4/g

:s/<four>/4/                     " 替换当前行第一个 vivian 为 sky   
:%s/<four>/4/g                        " 将所有行的four替换成4,但是fourteen中的four不替换,替换s前加%

1. 全局删除匹配到的行

:g/pattern/d

2. 删除第1-10行里的匹配到的行

:1,10g/pattern/d

3. 删除不包含指定字符的行

:v/pattern/d

:g!/pattern/d