首页 > 其他 > 详细

vi中的正则表达式替换

时间:2014-06-26 21:33:11      阅读:385      评论:0      收藏:0      [点我收藏+]

今天接到了个任务,要将字符串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中的正则表达式替换

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!