Vim中查找替换及正则表达式的使用详解
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,前言正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化的编辑器,这绝非虚言。下面这篇文章主要跟大家介绍了关
千家信息网最后更新 2025年12月02日Vim中查找替换及正则表达式的使用详解
前言
正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化的编辑器,这绝非虚言。
下面这篇文章主要跟大家介绍了关于Vim查找替换及正则表达式使用的相关内容,分享出来供大家参考学习,下面来一起看看吧。
简单替换表达式
:[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选项,则只替换每行的第一个匹配到的字符串;
- i ignore,忽略大小写。
这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问。
正则表达式
1、元字符
元字符
| 元字符 | 说明 |
|---|---|
| . | 匹配任意字符 |
| [abc] | 匹配方括号中的任意一个字符,可用-表示字符范围。如[a-z0-9]匹配小写字母和数字 |
| [^abc] | 匹配除方括号中字符之外的任意字符 |
| \d | 匹配阿拉伯数字,等同于[0-9] |
| \D | 匹配阿拉伯数字之外的任意字符,等同于[^0-9] |
| \x | 匹配十六进制数字,等同于[0-9A-Fa-f] |
| \X | 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f] |
| \l | 匹配[a-z] |
| \L | 匹配[^a-z] |
| \u | 匹配[A-Z] |
| \U | 匹配[^A-Z] |
| \w | 匹配单词字母,等同于[0-9A-Za-z_] |
| \W | 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_] |
| \t | 匹配 |
| \s | 匹配空白字符,等同于[\t] |
| \S | 匹配非空白字符,等同于[^\t] |
一些普通字符需转意
| 元字符 | 说明 |
|---|---|
| \* | 匹配* 字符 |
| . | 匹配. 字符 |
| \/ | 匹配 / 字符 |
| \ | 匹配 \ 字符 |
| \[ | 匹配 [ 字符 |
| \] | 匹配 ] 字符 |
表示数量的元字符
| 元字符 | 说明 |
|---|---|
| * | 匹配0-任意个 |
| \+ | 匹配1-任意个 |
| \? | 匹配0-1个 |
| \{n,m} | 匹配n-m个 |
| \{n} | 匹配n个 |
| \{n,} | 匹配n-任意个 |
| \{,m} | 匹配0-m个 |
表示位置的元字符
| 元字符 | 说明 |
|---|---|
| $ | 匹配行尾 |
| ^ | 匹配行首 |
| \< | 匹配单词词首 |
| \> | 匹配单词词尾 |
2、替换变量
在正则式中以\(和\)括起来的正则表达式,在后面使用的时候可以用\1、\2等变量来访问\(和\)中的内容。
例子
- 删除行尾空格::%s/\s+$//g
- 删除行首多余空格:%s/^\s*// 或者 %s/^ *//
- 删除沒有內容的空行:%s/^$// 或者 g/^$/d
- 删除包含有空格组成的空行:%s/^\s*$// 或者 g/^\s*$/d
- 删除以空格或TAB开头到结尾的空行:%s/^[ |\t]*$// 或者 g/^[ |\t]*$/d
- 把文中的所有字符串"abc……xyz"替换为"xyz……abc"可以有下列写法
:%s/abc\(.*\)xyz/xyz\1abc/g:%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
字符
元字符
正则
表达式
内容
单词
空格
搜索
字母
数字
文本
空行
范围
十六进制
变量
大小
字符串
方括号
空白
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全思想防线堡垒坚实
数据库导航按钮是什么意思
腾讯云文件存储服务器
万向信托软件开发
怀旧服永久60级服务器现状
网络安全对青少年的影响调查报告
oss文件服务器
数据库安全解决方法
做生意和软件开发
保障网络安全维护
学习网络技术往哪方面创业
档案管理信息系统数据库设计
我的世界国内十大服务器起床战争
最火奇迹游戏服务器
金仓数据库序列号
数据库管理系统能播放语音吗
数据库的就业方向
排查数据库连接哪里没关闭
软件开发企业怎样降低利润
重庆外贸客户管理软件开发
gdbc连接数据库
pc软件开发注册码
给发网络安全的信息说明什么
南京再构网络技术有限公司
唐山 软件开发公司哪家好
数据库建立表关系的题目
vb命令还原sql数据库
sql数据库新建查询
网络技术和计算机应用的差别
david数据库使用说明