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

今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码:

player.skillData[i].name

替换为:

player.skillData.getSkillInfo(i).name

具体来说就是将[i]改为getSkillInfo(i),不过遇到的问题是,需要修改的数量太多,200+个使用到的地方,而且括号中还不一定是“i”,可能是各种各样的形式(比如“index”、“_myIndex”等),总不能手动的一个一个改吧。。。

最后发现Eclipse是支持使用正则表达式的,所以只需要打开查找/替换窗口,勾上“正则表达式”,在查找文本框中填入:

(skillData\[)([a-zA-Z0-9_$]*)(\])

在替换为文本框中填入:

skillData.getSkillInfo($2)

好了,全部替换,当前文件下的所有文本都会被替换为我们需要的文本了。

最后重点说一下正则表达式的分组:

正则表达式会将匹配到的文本存储在“$”数组中,我们可以使用$0、$1、$2...访问到匹配成功的所有字符串,在表达式中,一个小括号即表示一个分组。

以我们的上面的表达式为例看一个示例,比如下面的文本:

var name:String = player.skillData[i].name;

经过匹配后的结果如下:

$0: skillData[i]
$1: skillData[
$2: i
$3: ]

我们发现,$0始终是匹配到的整个文本,而$1、$2和$3分别对应我们表达式中的3个小括号。

所以在替换时编写$2即表示这里使用匹配出的第二个小括号中的字符即“i”。

时间: 2024-08-21 14:05:45

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

vi中的正则表达式替换

今天接到了个任务,要将字符串Test("\r\nABC")替换为Test("ABC\n"),其中使用到了分组替换的方法,使用vi执行如下命令进行替换: %s/"\(\\r\\n\)\([^\\]*\)"/"\2\\n"/g %s - vi的替换命令 尾部的/g意味全局替换 "\(\\r\\n\)\([^\\]*\)" 部分 其中 \(\)的方式为匹配后为设定分组编号,系统会自动进行编号,后面通过\1 \2这

用正则表达式替换指定标签中的内容

用正则表达式替换指定标签中的内容,也是在工作中遇到的就顺手记了下来 string sXML = "ABCDEFCSF<p>123123</p>KOPL";//现在我要去掉P标签中的内容,实现 ABCDEFCSFKOPL这样的效果. 引入:using System.Text.RegularExpressions; Regex rg = new Regex("<pict>.*</pict>"); sXML = rg.Rep

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之查找、替换操作

Eclipse之查找.替换操作 What(简要解释)? Eclipse中的查找.替换操作是指通过查找.替换框来进行快速的查找和替换操作. Why?(为什么该操作有必要存在?) 1.与传统的一个个去查找.替换相比,节约了大量的时间. 2.解决了代码量长且难以全部替换完的问题 How?(如何操作?) 1.两种开启方式 A.菜单法 B.快捷键法 ctrl+F 2.英文扫盲+理解 以上两种开启方式都会弹出Find/Replace框,该框的作用是进行查找和替换操作(主要是替换操作),图示如下: 执行该框的

如何在Eclipse中使用依赖项目(Required projects)代替jar

最近想看下spring的源码,下了源码后,搭建个简单的例子hellospring的web项目,采用工程依赖使用源码中的类.搭建好后启动tomcat报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet错误.参考了下面文章. 在Eclipse中使用依赖项目(Required projects)替换jar的好处就是可以随时更改依赖项目中的代码,而在主项目中引用到最新的编译类.这种方式在D

清除Eclipse中SVN用户的方法

1)查看你的Eclipse中使用的是什么SVN Interface(中文:svn接口)windows > preference > Team > SVN 在右边的设置面板中可以看到SVN Interface或中文的svn接口一栏,Client的选项框中显示的就是你当前用的svn接口 2)如果是用的JavaHL, 找到以下目录 C:\Documents and Settings\用户名\Application Data\Subversion\应看到有一个auth目录,删除auth目录中的相

eclipse中svn插件的安装

Svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了SVN.Subversion项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足. Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,通过与svn插件的完美配合,很好的提高工作效率,提高代码的安全和管理. 今天和大

Eclipse中的快捷键

Eclipse中的快捷键代码提示键(最最好用):alt+/ 文本编辑作用域 功能 快捷键 全局 查找并替换 Ctrl+F 文本编辑器 查找上一个 Ctrl+Shift+K 文本编辑器 查找下一个 Ctrl+K 全局 撤销 Ctrl+Z 全局 复制 Ctrl+C 全局 恢复上一个选择 Alt+Shift+↓ 全局 剪切 Ctrl+X 全局 快速修正 Ctrl1+1 全局 内容辅助 Alt+/ 全局 全部选中 Ctrl+A 全局 删除 Delete 全局 上下文信息 Alt+? Alt+Shift+

Eclipse中10个最有用的快捷键组合

现在很多开发人员都在用eclipse.用开发工具,就是为了方便,方便你开发你的软件,方便你管理你的工程,而开发工具提供各种功能大部分会有对应的快捷键,下面就列出了eclipse的快捷键. 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名