码迷,mamicode.com
首页 > 其他好文 > 详细

vi中的正则表达式替换

时间:2014-06-26 21:32:54      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:com   使用      学习   c      

今天接到了个任务,要将字符串Test("\r\nABC")替换为Test("ABC\n"),其中使用到了分组替换的方法,使用vi执行如下命令进行替换:

%s/"\(\\r\\n\)\([^\\]*\)"/"\2\\n"/g

 

%s - vi的替换命令 尾部的/g意味全局替换

 

"\(\\r\\n\)\([^\\]*\)" 部分 其中

\(\)的方式为匹配后为设定分组编号,系统会自动进行编号,后面通过\1 \2这样的方式来引用前面匹配的分组信息

\\r\\n为匹配 \r\n

[^\\]*为匹配非\的多个字符

 

\2\\n为由于是在%s的操作符和/作用下,所以意味着此部分为替换为第二分组和\n这样的字符串

 

/g为全文替换。

在学习阶段发现,有个很好用的网站,虽然不是很兼容vi的正则表达式匹配的方式,不过也很有用,尤其是对自行编写的表达式样式会进行分析和说明,甚是有用。

regex101.com

 

 

vi中的正则表达式替换,布布扣,bubuko.com

vi中的正则表达式替换

标签:com   使用      学习   c      

原文地址:http://www.cnblogs.com/JamesZhangQ/p/3808001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!