Idea使用正则表达式批量替换字符串的方法_正则表达式

来源:脚本之家  责任编辑:小易  

由于一开始的粗放扩张,公司项目代码里,遗留有很多类似魔法数的写死的id,导致现在维护困难。于是交给我任务,将这些id替换成静态变量。

这些id有十多种,分布在十个文件中,总共六十多处,要手动去查找替换几乎是不可能的。

Idea中,菜单栏Edit->find->replace in path可以打开全文件查找功能,可以对项目的所有文件中的内容进行查找替换。

现在我们有这样的代码,其中的abcd是写死的id:

String id="abcd".equals(str);

要替换成:

String id=ConstantService.getBy("abcd").equals(str);

如果只用普通的匹配,我会想到查找"String id=\"",替换成"String id=ConstantService.getBy(\""。

然而在项目中"String id=\""这样格式的代码是非常多的,普通的匹配很可能误伤到其他代码。

因此我使用正则匹配。点击右边的".*"图标打开正则匹配模式。

需要替换的代码符合这样的匹配模式:

String id=\"(\w+)\".equals\(str\);

可以替换成:

String id=ConstantService.getBy("$1").equals(str);

匹配模式中,写死的id可以用\"(\w+)\"表示。最外侧是转义的引号。括号代表一个匹配组,其中的\w匹配字符,+号表示字符出现1或多次。这样的模式符合项目中写死id。

替换串中$1代表匹配串中的第一个匹配组。因此,我们不用一次次的指定每个id,替换串自动将匹配的id替换到结果中。

这样,这项本来令人难以想象的复杂工作就轻松解决了。

到此这篇关于Idea使用正则表达式批量替换字符串的文章就介绍到这了,更多相关idea正则表达式批量替换内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:idea 正则表达式搜索替换应用详解Intellij IDEA全局替换快捷键整理IDEA全量替换一次性解决旧项目并将所有文件换行符改为LF问题IntelliJ IDEA搜索整个项目进行全局替换(有危险慎用)IntelliJ IDEA全局内容搜索和替换教程图解

  • 本文相关:
  • editplus中的正则表达式实战(6)
  • asp.net(c#) 使用rex正则来生成字符串数组的代码
  • ios 正则表达式判断纯数字及匹配11位手机号码的方法
  • 正则表达式匹配${key}并在java中使用的详细方法
  • 利用js正则表达式校验正数、负数、和小数
  • javascript中使用exec进行正则表达式全局匹配时的注意事项
  • 浅谈正则表达式中的分组和引用实现方法
  • javascript正则表达式校验非负整数实例
  • scala的文件读写操作与正则表达式
  • 详解php正则表达式替换实现(php preg_replace,php preg_replace
  • 如何用dw中的正则表达式批量替换文本
  • 如何用正则表达式批量替换一个页面中的超级链接
  • DW正则表达式批量替换网页
  • DW正则表达式批量替换网页 如何查找到这些规则的代码,替换...
  • DW正则表达式批量复制一次标题
  • 正则表达式批量替换中括号的内容
  • 正则表达式批量替换 DW 批量替换
  • [求助] 用正则表达式在指定的范围内批量替换,请帮忙,谢谢!
  • 正则表达式批量替换网址
  • 怎么用正则表达式批量替换序号?
  • 求助正则表达式批量替换的问题
  • 利用正则表达式批量替换代码
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全javascriptasp.netphp编程ajax相关正则表达式asp编程jsp编程编程10000问css/htmlflex脚本加解密web2.0xml/rss网页编辑器相关技巧安全相关网页播放器其它综合dart首页idea 正则表达式搜索替换应用详解intellij idea全局替换快捷键整理idea全量替换一次性解决旧项目并将所有文件换行符改为lf问题intellij idea搜索整个项目进行全局替换(有危险慎用)intellij idea全局内容搜索和替换教程图解editplus中的正则表达式实战(6)asp.net(c#) 使用rex正则来生成字符串数组的代码ios 正则表达式判断纯数字及匹配11位手机号码的方法正则表达式匹配${key}并在java中使用的详细方法利用js正则表达式校验正数、负数、和小数javascript中使用exec进行正则表达式全局匹配时的注意事项浅谈正则表达式中的分组和引用实现方法javascript正则表达式校验非负整数实例scala的文件读写操作与正则表达式详解php正则表达式替换实现(php preg_replace,php preg_replace正则表达式匹配任意字符(包括换最新手机号码、电话号码正则表达java 正则表达式详解比较正宗的验证邮箱的正则表达式正则表达式匹配不包含某些字符串js利用正则配合replace替换指定字javascript 手机号码正则表达式验正则中需要转义的特殊字符小结匹配中文汉字的正则表达式介绍正则表达式 \w \d 的意义eregi_replace()中特殊字符的处理方法javascript正则表达式(总结篇)java正则表达式使用正则表达式直接在excel中使用的详细步骤正则表达式中的反向预搜索实现php正则表达式中的非贪婪模式匹配php正则表达式完全教程之精华篇正则表达式模式匹配的string方法用正则提取全部的匹配结果的代码正则表达式合集和工具any-rule的使用
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved