web-dev-qa-db-ja.com

winmergeラインフィルターの使い方は?

私が興味を持っていない多くの違いがあります。たとえば、次の場合を考えてみます。

左:XXXXXXXX XXXXXXXXX右:XXXXXXXX XXXXXXXXX OPTIOINAL XYZ

この違いのパターンを無視したいのですが、フィルターを機能させることができます。なにか提案を?

2
lamwaiman1988

WinMergeにも苦労していたので、この投稿を見つけました。ラインフィルターのドキュメントはRegExに掲載されているので、私もそうです。私が作成した式はどれもフィルタリングを行いませんでした。文字列を左右の行に共通に配置するだけで、希望どおりに機能することがわかります。

たとえば、特定の違いについて2つのXMLファイルを比較しています。一部の行には次の文字列が含まれています。

IntID IntRef

それらの前には空白、オープンタグ文字列、そしてUUIDが続きます。これは、私が無視したい違いを引き起こしているエンティティです。

そのため、文字列のみを含み、正規表現を含まない2つのラインフィルターを追加しました。 12Mファイルの処理には少し時間がかかりましたが、4つの違いを確認するために、1000以上のヒットを無視しなければならないことで時間を埋め合わせました。

これがあなたが求めているものだと思います。左右にXXXXXXXXXXXXXXXXXXがあります。データはどちらの側でも同じだと思います。

5
KJM

素晴らしい答え、KJM! WinMergeの2011フォークを使用することもお勧めします ここ 。ラインフィルターポップアップにNiceテスト機能があります。特定のケースでは、正規表現は次のようになります。

^(XXXXXXXX\sXXXXXXXXX).*$

または

^(XXXXXXXX\sXXXXXXXXX)(\sOPTIOINAL\sXYZ)*$

正規表現の例については、 ここ を確認してください。

1
Dan Csharpster