在 Notepad++ 中查找和复制 { 和 } 之间的文本

Find and copy text between { and } in Notepad++

我有一个大文本文件,我想复制 {sell/"} 之间的所有文本。我试过用这个。

\{.*sell/"\}

但是,它没有找到任何东西。我也希望复制过程的结果是这样的:

{ .* sell/"}
{ .* sell/"}
{ .* sell/"}

而不是这个:

{ .* sell/"}{ .* sell/"}{ .* sell/"}

有人可以帮我吗? :x

假设

  1. 标记 {sell/} 之间(包括标记)的文本在同一行上
  2. 复制是指将文本插入到新文件中,保持原始文件不变

以下方法可行:

  1. 将文本复制到新文件中:
    • 我们根据正则表达式为行添加书签:
      • 从菜单中选择“搜索”->“标记...”,
        • 查找内容: .*(\{.*?sell/\}).*
        • 检查书签行正则表达式
        • 点击清除所有标记
        • 单击全部标记
    • 选择搜索 -> 书签 -> 复制书签行
    • 创建一个新文件
    • 使用编辑 -> 粘贴插入剪贴板内容
  2. 删除书签行上标记之外的所有内容:
    • 我们根据正则表达式做一个Find/Replace:
      • 从菜单中选择“搜索”->“替换...”,
        • 查找内容: .*(\{.*?sell/\}).*
        • 替换为:
        • 检查正则表达式
        • 单击全部替换

如简介中所述:如果您的标记跨越多行,这将失败。 marking/bookmarking 只会为第一行添加书签,而 复制已添加书签的行 在这种情况下只会考虑第一行。 (在那种情况下,我们需要另一个步骤将多行块压缩成一行。)