Winmerge-Zeilenfilter verwenden

6053
lamwaiman1988

Es gibt viele Unterschiede, die mich nicht interessieren. Betrachten Sie zum Beispiel den folgenden Fall:

LINKS: XXXXXXXX XXXXXXXXX RECHTS: XXXXXXXX XXXXXXXXX OPTIOINAL XYZ

Ich möchte dieses Muster des Unterschieds ignorieren, aber ich kann den Filter einfach funktionieren lassen. Irgendein Vorschlag?

2

2 Antworten auf die Frage

5
KJM

I found this post because I was also struggling with WinMerge. The line filter documentation goes right at RegEx, so did I. Stupid me; none of the expressions I made did any filtering. Turns out you just put the string in common to left and right lines and it works like I want.

For example, I am comparing 2 XML files for certain differences. Some lines contain these strings:

IntID IntRef

They are preceded by whitespace, and open tag string and followed by a UUID, which is the entity that is causing a difference I would like to ignore.

So I just added two line filters with just the strings and no RegEx stuff. It was a bit slow to process a 12M file, but I more than made up for the time in having to ignore 1000+ hits to see the 4 differences.

I think this is what you are after with the XXXXXXXX XXXXXXXXX on the left and right. I am assuming the data is the same on each side.

Ich hatte auch viel Glück mit WinMerges Zeilenfilterung. Es dauerte eine Weile, bis ich herausfand, dass der Ausdruck allgemein sein musste. Jetzt muss ich herausfinden, wie zusammengeklappte Textzeilen abgeglichen werden. Es ist Quellcode und an vielen Stellen sind 2 Zeilen in der Quelle auf eine im Ziel reduziert, und ich möchte dies ignorieren. Irgendwelche Ideen, wie man mit solchen Multilinien umgehen kann? Dan Csharpster vor 9 Jahren 0
1
Dan Csharpster

Große Antwort, KJM! Ich würde auch vorschlagen, die 2011 Gabel von WinMerge hier zu verwenden . Es hat eine nette Testfunktion im Linienfilter-Popup. Für Ihren speziellen Fall würde Ihr regulärer Ausdruck ungefähr so ​​aussehen:

^(XXXXXXXX\sXXXXXXXXX).*$ 

oder

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

Schauen Sie sich hier für regex Beispiele.