2

Есть много различий, которые меня не интересуют. Например, рассмотрим следующий случай:

ВЛЕВО: XXXXXXXX XXXXXXXXX ПРАВО: XXXXXXXX XXXXXXXXX OPTIOINAL XYZ

Я хочу игнорировать эту схему различий, но я просто могу заставить фильтр работать. Любое предложение?

2 ответа2

5

Я нашел этот пост, потому что я также боролся с WinMerge. Документация по линейному фильтру идет прямо в RegEx, как и я. Глупый я; ни одно из сделанных мною выражений не выполняло никакой фильтрации. Оказывается, вы просто помещаете строку в общую строку слева и справа, и она работает так, как я хочу.

Например, я сравниваю 2 файла XML для определенных различий. Некоторые строки содержат эти строки:

IntID IntRef

Им предшествует пробел, открытая строка тега и UUID, который является сущностью, вызывающей разницу, которую я хотел бы игнорировать.

Поэтому я просто добавил два строковых фильтра только с строками и без элементов RegEx. Обработка файла 12M была немного медленной, но я более чем воспользовался тем, что проигнорировал более 1000 обращений, чтобы увидеть 4 различия.

Я думаю, что это то, что вам нужно, с XXXXXXXX XXXXXXXXX слева и справа. Я предполагаю, что данные одинаковы на каждой стороне.

1

Отличный ответ, KJM! Я также предложил бы использовать разветвление WinMerge 2011 здесь. У него есть хорошая функция тестирования во всплывающем окне фильтра строк. Для вашего конкретного случая ваше регулярное выражение будет выглядеть примерно так:

^(XXXXXXXX\sXXXXXXXXX).*$

или же

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

Проверьте здесь для примеров регулярных выражений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .