全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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 匹配<TAB>字符
\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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# vim  # 使用正则表达式  # 替换  # 正则表达式  # 查找  # Python正则表达式字符串的匹配、替换、分割、查找方式  # python正则表达式查找和替换内容的实例详解  # Python 实用技巧之正则表达式查找和替换文本的操作方法  # swift 3.0 正则表达式查找/替换字符的实现代码  # Go语言正则表达式用法实例小结【查找、匹配、替换等】  # 在VS2008中使用正则表达式进行查找和替换  # 正则表达式匹配  # JAVA中正则表达式匹配  # 切割的方法  # Xcode 正则表达式实现查找替换功能  # 这篇文章  # 编辑器  # 是一个  # 相关内容  # 第一个  # 可以用  # 行尾  # 如果没有  # 它可以  # 不支持  # 只在  # 在后面  # 谢谢大家  # 它就  # 看看吧  # 不加  # 到第  # 中以  # 算不上 


相关文章: C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  网站网页制作专业公司,怎样制作自己的网页?  微信h5制作网站有哪些,免费微信H5页面制作工具?  建站之星ASP如何实现CMS高效搭建与安全管理?  香港服务器选型指南:免备案配置与高效建站方案解析  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  建站之星代理如何优化在线客服效率?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何在阿里云虚拟服务器快速搭建网站?  宝塔面板创建网站无法访问?如何快速排查修复?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何快速登录WAP自助建站平台?  Java解压缩zip - 解压缩多个文件或文件夹实例  贸易公司网站制作流程,出口贸易网站设计怎么做?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  python的本地网站制作,如何创建本地站点?  如何选择建站程序?包含哪些必备功能与类型?  网站企业制作流程,用什么语言做企业网站比较好?  网站制作员失业,怎样查看自己网站的注册者?  Swift中swift中的switch 语句  已有域名如何免费搭建网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何通过虚拟主机快速搭建个人网站?  已有域名和空间,如何快速搭建网站?  怎么将XML数据可视化 D3.js加载XML  如何挑选优质建站一级代理提升网站排名?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  公司网站的制作公司,企业网站制作基本流程有哪些?  宿州网站制作公司兴策,安徽省低保查询网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何在Windows服务器上快速搭建网站?  如何在企业微信快速生成手机电脑官网?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  高端建站三要素:定制模板、企业官网与响应式设计优化  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  制作公司内部网站有哪些,内网如何建网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  制作网站的基本流程,设计网站的软件是什么?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  招商网站制作流程,网站招商广告语?  建站之星3.0如何解决常见操作问题?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  TestNG的testng.xml配置文件怎么写  javascript中对象的定义、使用以及对象和原型链操作小结  长沙做网站要多少钱,长沙国安网络怎么样?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  成都网站制作公司哪家好,四川省职工服务网是做什么用? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。