vi中的正则表达式替换

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

时间: 2024-12-16 20:36:41

vi中的正则表达式替换的相关文章

SQL Server中利用正则表达式替换字符串

原文:SQL Server中利用正则表达式替换字符串 建立正则替换函数,利用了OLE对象,以下是函数代码: --如果存在则删除原有函数 IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL DROP FUNCTION dbo.RegexReplace GO --开始创建正则替换函数 CREATE FUNCTION dbo.RegexReplace ( @string VARCHAR(MAX), --被替换的字符串 @pattern VARCHAR(255),

关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)

今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSkillInfo(i).name 具体来说就是将[i]改为getSkillInfo(i),不过遇到的问题是,需要修改的数量太多,200+个使用到的地方,而且括号中还不一定是“i”,可能是各种各样的形式(比如“index”.“_myIndex”等),总不能手动的一个一个改吧... 最后发现Eclipse是

VI中的批量替换 (转载)

1) 文件内全部替换: :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g) --注:把abc替换成123 (或者: %s/str1/str2/g 用str2替换文件中所有的str1) 2) 文件内局部替换: :20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g) --注:把20行到30行内abc替换成123

在Ant Build文件中使用正则表达式替换文件内容

这需要在build文件中使用<replaceregexp>标签, 这个标签的使用大概是这个样子的: 1 <replaceregexp file="${src}/build.properties" 2 match="OldProperty=(.*)" 3 replace="NewProperty=\1" 4 byline="true" 5 /> 注意,Ant默认是不认识这个标签的,为了使用这个标签,需要在

vi中的批量替换

:%s/hello/world/g g表示替换改行中的所有匹配处 %表示替换所有行,否则替换当前行 :n1,n2s/hello/world/g 替换n1-n2行中的所有匹配

JS中使用正则表达式替换对象里的大小写

  function parse(obj){ var str = JSON.stringify(obj); var dataObj = str.replace(/Name/g, "name"); var dataObj1 = dataObj.replace(/Value/g, "value"); var data = JSON.parse(dataObj1); return data; }

vim中的批量替换

VI中的批量替换 1) 文件内全部替换: :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g) --注:把abc替换成123 (或者: %s/str1/str2/g 用str2替换文件中所有的str1) 2) 文件内局部替换: :20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g) --注:把20行到30行内abc替换成123

在UltraEdit的查找和替换中使用正则表达式 (转)

很多朋友都用过或者正在用UltraEdit,这个编辑器陪伴我也好几年了,从很多地方影响着我写代码的快捷键习惯,Ultraedit提供了非常丰富的编辑功能,其中非常重要的查找和替换功能一定大家都用过,Ultraedit提供的查找替换功能非常方便和强大,可以在单独文件里面查找替换,也可以在多个文件.多个目录里面进行查找替换.而我们在使用这些查找替换功能的时候,一 LiveJournal Tags: UltraEdit,正则表达式 般都是针对某个字符串进行,前两天我要对一个目录下(包含子目录)所有的h

在Visual Studio中使用正则表达式匹配换行和批量替换

系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如何在Visual Studio中使用正则表达式匹配换行符,空白符,Tab符等特殊符号,并且在当前文档或当前项目或整个解决方案中批量替换你指定的代码文字? 例子: 1 /// <summary> 2 /// 根据条件查询表中所有数据 3 /// </summary> 4 /// <