关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含791字,纯文字阅读大概需要2分钟。
内容图文
今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码:
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”。
原文:http://www.cnblogs.com/hammerc/p/4630850.html
内容总结
以上是互联网集市为您收集整理的关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)全部内容,希望文章能够帮你解决关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。