NP++ 中的 REGEX:如何在文件中查找第一个 } 并将其删除

NP++ 中的 REGEX:如何在文件中查找第一个 } 并将其删除

这些是众多文件之一的起始行:

393
394
395.1.17 = { 123 134 121 1211 }
395.1.18 = { 132 1334 12121 1211211 }
395.1.19 = { 132 1334 12121 1211211 }

我想删除第一个出现的 }(并且只删除第一个),以便它看起来像这样:

393
394
395.1.17 = { 123 134 121 1211
395.1.18 = { 132 1334 12121 1211211 }
395.1.19 = { 132 1334 12121 1211211 }

我如何通过 Notepad++ 中的正则表达式做到这一点?

答案1

这是做的工作:

  • Ctrl+F
  • 找什么:^([^}]+)\}(.*)$
  • 用。。。来代替:$1$2
  • 检查环绕
  • 检查正则表达式
  • 查看. matches newline
  • Replace all

解释:

^           : begining of string
  (         : start group 1
    [^}]+   : 1 or more any character that is NOT }
  )         : end group 1
  \}        : a close bracket
  (         : start group 2
    .*      : 0 or more any character
  )         : end group 2
$           : end of string

替代品:

$1  : content of group 1 (ie. Everything that is before the first })
$2  : content of group 2 (ie. Everything that is after the first })

给定示例的结果:

393
394
395.1.17 = { 123 134 121 1211 
395.1.18 = { 132 1334 12121 1211211 }
395.1.19 = { 132 1334 12121 1211211 }

相关内容