Beyond Compare 忽略修改标签的开始和结束标签之间的内容

BeyondCompare ignore content between opening and closing tags of modified tags

我在另一篇文章中看到 BeyondCompare 不能忽略换行符(或者至少当时不能)所以我认为这是一个失败的原因。但是,我们有几百个文件,我们已经替换了文件中的标签(例如:{my_tag}some content{/my_tag} 已更改为 {new_tag}some content{/new_tag}。 在某些情况下,第一个标签+内容可能只有 5 行,而新标签+内容是 10 行。是否可以忽略这些更改?

我尝试了 {my_tag((.|\n)*){\/my_tag(.*),它似乎在 regex101 中有效,但在尝试将其放入 BeyondCompare 时出现错误。

感谢您的帮助。

如果您忽略 {my_tag}..{/my_tag} 和 {new_tag}..{/new_tag} 的所有实例以及它们中的内容,您可以将其作为文件格式的语法元素来执行,而不是使用“会话设置”对话框的“不重要的文本”部分(其中正则表达式仅限于一行)。

如果您还没有文件的自定义文件格式,则需要先创建一个新格式。如果这样做,请跳到第 6 步。提前道歉这是多少步; UI 需要重新设计。

  1. 转到工具 > 文件格式...
  2. 单击左侧列表底部的 [+] 按钮和 select“文本格式”
  3. 在“常规”选项卡上添加一个与您的文件名匹配的掩码,例如 *.csv。
  4. 点击“另存为”为其命名,然后点击“关闭”保存所有更改。
  5. 如果您已经加载了文件,则需要从工具栏的“格式”下拉菜单中select 新的文件格式。如果您在比较编辑正上方的面板中看到文件格式名称,则可以判断它是否正确。

在系统中设置文件格式并为您的文件加载后:

  1. 单击工具栏上的“格式”按钮以编辑当前加载的文件格式。
  2. 在“语法”选项卡上,单击顶部列表框下方的 [+] 按钮。
  3. 在“语法项”对话框中,
    一种。为元素命名,例如“Ignored tags”
    b.将“类别”更改为“分隔”
    C。在“文本来自”中输入 {(my|new)_tag} 并在“至”中输入 {/(my|new)_tag}
    d.检查“正则表达式”选项。
    e. “匹配字符大小写”影响搜索字符串是否区分大小写。 "This element is case sensitive" 控制是否将两侧大小写差异视为重要差异。
    F。单击“确定”
  4. 在外部“文本格式”对话框中单击“确定”。此时 BC 应该询问您是否要重新加载文件格式,您应该这样做。完成后,您可以单击其中一个标签,您应该会在编辑下方的状态栏中看到您为其指定的名称(水平滚动条旁边)
  5. 单击“规则”工具栏按钮,这将打开“会话设置”对话框。
  6. 在“重要性”选项卡上,取消选中底部列表框中的“忽略的标签”项(或您为其命名的任何名称)。
  7. 如果您想在以后的所有情况下都忽略它,请将对话框底部的组合框从“仅用于此视图”更改为“同时更新会话默认值”。如果您不这样做,则每当您想忽略标签时都需要重复步骤 10-13。
  8. 点击“确定”。比较应该重新加载,结果应该是蓝色的,这是一个不重要的差异。

所有设置完成后,它应该会自动运行,如果需要,您可以在“颜色、字体”下的“选项”对话框中为元素添加语法突出显示。