0

コードベースをクリーンアップしていますが、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を拒否するためのものです。Dialoglogo

複数行のサポートを追加するには? 式で-match...(?s)の前にファイル内のすべてのテキストが一致します。log

誰でも私を助けることができますか?

4

3 に答える 3

1

ロギング用のすべての import ステートメントを削除することから始めることができます。ログ行は、コンパイル時のエラーとして明確に表示されます。

于 2013-05-22T21:34:03.853 に答える
0

一晩寝た後、私はついに解決策を得ました...

  1. すべてのlog(String msg){}メソッドは式で削除できます (?s)^(\s|\w)*void\s{1}log{1}\W(.|^})*?[}](\s)*\R。質問で定義されているメソッド定義に対して機能します。

  2. すべての参照は、によって削除できます(?s)^\s*log{1}\W(.|^;)*?[;](\s)*\R。複数行のメソッド呼び出しにも一致します。

違反が見られた場合は自由に構文を修正してください。ただし、これらの式は私のニーズに対して非常に堅牢なようです。

于 2013-05-23T07:05:36.747 に答える