Eclipse IDE for Java Developers 2020-09查找替换符号及逻辑如何使用?
Eclipse 2020-09 Java开发查找替换(变量批量修改)使用规则
基础操作入口
- 打开查找替换面板的快捷键为
Ctrl+F,也可以通过顶部菜单栏Edit > Find/Replace手动打开 - 针对Java变量标识符修改的场景,默认建议先勾选区分大小写(Case sensitive)、*全字匹配(Whole word)*两个选项,避免误匹配到相似名称的其他方法、类名
普通模式匹配规则(简单替换场景用)
如果只是替换单一完整变量名,不需要开启正则模式,直接使用默认普通模式即可:
- 查找输入框直接填写原变量的完整标识符即可,比如要替换
userAge就直接输入userAge - 替换输入框填写新的变量名,点击
Replace All即可完成全量替换
普通模式下所有输入内容均为精确匹配,特殊符号不需要额外转义,适合无需规则匹配的简单替换场景
正则模式匹配规则(复杂批量替换场景用)
如果需要匹配有统一规则的一批变量,比如所有以tmp_开头的临时变量,需要先勾选面板中的*正则表达式(Regular expressions)*选项,常用匹配符号规则如下:
^:匹配行首位置,比如^public只会匹配行开头的public关键字$:匹配行尾位置.:匹配任意单个字符*:匹配前一个字符出现0次及以上+:匹配前一个字符出现1次及以上\w:匹配所有Java标识符允许的字符,包括字母、数字、下划线():用于定义匹配分组,替换时可以用$1、$2对应引用第1、第2个分组的内容,例如查找tmp_(\w+),替换为official_$1,即可将所有tmp_xxx格式的变量统一替换为official_xxx
正则模式下如果要匹配
*、.这类本身带有特殊含义的符号,需要添加反斜杠转义,例如要匹配点号就输入\.
Java场景专属优化设置
Eclipse针对Java开发提供了专属匹配规则,勾选后可以避免误匹配注释、字符串中的相同文本:
- 勾选
Search in > Java Sources限定仅在Java代码文件中搜索 - 勾选
Consider occurrences in > Only Java identifiers,搜索范围会限定为仅Java标识符(变量名、方法名、类名等),自动忽略注释、字符串常量里的相同内容,大幅降低变量替换的误改概率
更安全的变量批量修改方案
如果是要修改同一作用域下的同名变量,更推荐使用Eclipse自带的重命名重构功能:选中目标变量后按快捷键Alt+Shift+R,输入新变量名后按回车,Eclipse会自动修改所有该变量的引用位置,不会误改其他场景下的同名内容,准确度远高于手动查找替换。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

