前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vim正则匹配若干操作

vim正则匹配若干操作

作者头像
用户1733462
发布2019-05-22 23:01:44
3.4K0
发布2019-05-22 23:01:44
举报
文章被收录于专栏:数据处理

三种匹配命令用法:

1、/ (搜索)命令

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

代码语言:javascript
复制
/^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个

表示位置的符号

元字符

说明

$

匹配行尾

^

匹配行首

<

匹配单词词首

>

匹配单词词尾

用例

代码语言:javascript
复制
/char\s\+[A-Za-z_]\w*;                 " 查找所有以char开头,之后是一个以上的空白,
                                             " 最后是一个标识符和分号

/char\s+[A-Za-z_]\w*;

代码语言:javascript
复制
/\d\d:\d\d:\d\d                        " 查找如 17:37:01 格式的时间字符串

/\d\d:\d\d:\d\d

代码语言:javascript
复制
:s/\<four\>/4/g                        " 将当前行的four替换成4,但是fourteen中的four不替换

:s/<four>/4/g

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

1. 全局删除匹配到的行

代码语言:javascript
复制
:g/pattern/d

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

代码语言:javascript
复制
:1,10g/pattern/d

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

代码语言:javascript
复制
:v/pattern/d

代码语言:javascript
复制
:g!/pattern/d
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.05.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三种匹配命令用法:
    • 1、/ (搜索)命令
      • 2、:s(替换)命令
        • 3、删除包含特定字符的行
        • 元字符
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档