有很多不同之处我不感兴趣。例如,考虑以下情况:
左:XXXXXXXX XXXXXXXXX 右:XXXXXXXX XXXXXXXXX 可选 XYZ
我想忽略这种差异模式,但我只能让过滤器工作。有什么建议吗?
答案1
我之所以找到这篇文章,是因为我也在使用 WinMerge 时遇到了麻烦。行过滤器文档在 RegEx 中是正确的,我也是。我真愚蠢;我制作的所有表达式都没有进行任何过滤。事实证明,您只需将字符串放在左右行的公共位置,它就会像我想要的那样工作。
例如,我正在比较两个 XML 文件以查找某些差异。有些行包含以下字符串:
整数ID 整数引用
它们前面是空格和开放标记字符串,后面是 UUID,这是导致我想要忽略的差异的实体。
因此,我仅添加了两个仅包含字符串而没有 RegEx 内容的行过滤器。处理 12M 文件有点慢,但我花了不少时间忽略 1000 多次命中才看到 4 个差异,这足以弥补这一损失。
我认为这就是您在左右两侧使用 XXXXXXXX XXXXXXXXX 所追求的。我假设两边的数据相同。
答案2
答案3
我查看了文件过滤器文档中的示例。
https://manual.winmerge.org/en/Filters.html
示例 2. 文件过滤规则示例
一些简单的文件过滤规则:
f: \.cpp$ ## Match *.cpp files
f: \.h$ ## Match *.h files
f: ^My ## Match My*.* files
f: Dlg\. ## Match *Dlg.* files
d: \\test$ ## Match test folders
d: ^\\Build$ ## Match Build folders
d: Temp$ ## Match *Temp folders (for example, FirstTemp)
d: Src ## Match *Src* folders
一些具有更复杂的正则表达式的规则:
f: ^\.#.*$ ## .#filename.version files
f: Dlg\.c(pp)?$ ## *Dlg.c and *Dlg.cpp files
f: ^I.*\.h$ ## I*.h files
f: Srv[1-9]\.def$ ## *Srv1.def to *Srv9.def files
f: ^[h,k,m] ## h*.*, k*.*, and m*.* files