在Beyond Compare

时间:2016-12-14 14:25:13

标签: utf-8 comparison diff beyondcompare beyondcompare4

我的项目包括一些测量单位,用非UTF-8字符表示,如平方符号。对于大多数编辑器,这些编辑器显示为以下字符: 。

我正在将部分源代码与beyond compare进行比较,我想忽略这些符号出现的情况。我尝试了这两种解决方案:

Beyond Compare - ignore certain text strings?

How do I make Beyond Compare ignore certain differences while comparing versions of Delphi Form Files

但在这两种情况下,差异仍标记为红色(?vs 或²对 )。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果字符是不可打印的字符,您可以使用十六进制值在Beyond Compare 4的文本比较中将它们定义为不重要的文本。

例如,假设字符是上标2,平方符号,十六进制值为0x00B2。

  1. 在文本比较中加载文件。
  2. 单击“规则”工具栏按钮(裁判图标)。
  3. 在“重要性”选项卡中,单击“编辑语法”。
  4. 在语法标签中,点击+。
  5. 元素名称:Squared
  6. 文字匹配:\ x {00B2}
  7. 检查正则表达式
  8. 单击“确定”。
  9. 单击“确定”。
  10. 在语法元素列表中,取消选中Squared使其不重要。
  11. 单击“确定”。
  12. 如果查看|忽略不重要的文本,与Squared匹配的差异将显示为匹配(黑色)。如果关闭,匹配Squared的差异将显示为蓝色。

    在上面的说明中,正则表达式\ x {nnnn}匹配具有十六进制值nnnn的字符。

    参考文献:

    Unicode Character Superscript 2

    Define Unimportant Text in Beyond Compare

    Beyond Compare Help - Regular Expression Reference