【发布时间】:2013-05-22 20:42:54
【问题描述】:
我正在清理我的代码库,我想知道是否可以使用 Eclipse 正则表达式来删除(替换)所有与日志记录相关的内容。
示例代码:
public static void setFoo( Foo param ) {
singleton.setBar(param);
}
private void log(String msg) {
Logger.log( msg );
}
private void setBar( Foo param ) {
log( "Foo: "
+ param.toString() );
log( "bar" );
this.mParam = param;
}
每个类都有自己的私有log(String msg) 方法,需要删除该方法以及对这些方法的所有引用。我在网上查看了提示和提示,并尝试了几个没有成功的例子......
更新:
搜索单行 log() -references 适用于^.*{1}\Wlog{1}\W.*\;\R
{1}\W 周围的log 用于拒绝Dialog、logo 等匹配项。
如何添加多行支持?表达式中的(?s) 将匹配log 之前文件中的所有文本-match...
谁能帮帮我?
【问题讨论】:
-
使用正则表达式解析语法总是复杂的、有风险的,并且不能保证失败(正则表达式不能匹配语法所包含的所有内容)。尝试使用 java 解析器。
-
是的,你完全正确。但这是一个简单的任务,如果我可以删除几乎所有行,手工将处于合理水平......但我也会检查 java 解析器。