Notepad++ RegEx 仅更改特定文件中的最后一行

Notepad++ RegEx 仅更改特定文件中的最后一行

问题是我想注释掉某些文件中的特定字符串。

在大多数情况下,它看起来像这样

countries = {"GER","NZG",}

替换它很简单。但是,有些例外,其中的字符串如下所示:

    countries = {
         "GER","NZG",
    }

我第一次将第一行的“countries”替换为“--countries”。

现在我发现下一行

^([\s][\"][A-Z]{3}[\"])

并将其替换为

-- \1

现在我的文件看起来像这样

 --countries = {
 --      "GER","NZG",
   }

我知道这不是很有效。

如您所见,我需要注释掉最后一个“}”。它是每个文件中的最后一个“}”。但一行中还有其他单个“}”。

这些是 lua 文件,所以块注释可能更好。但我仍然不知道如何在文件中查找最后一个“}”。

如果有人能帮助我那就太好了。

答案1

  • Ctrl+H
  • 找什么:^(\w+\h*=\h*\{)([^}]+)(\})
  • 用。。。来代替:--$1\n--\t$2\n--$3
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

^               # begining of line
  (             # start group 1
    \w+         # 1 or more word character
    \h*         # 0 or more horizontal spaces
    =           # equal sign
    \h*         # 0 or more horizontal spaces
    \{          # opening curly brace
  )             # end group 1
  (             # start group 2
    [^}]+       # 1 or more non closing brace
  )             # end group 2
  (\})          # group 3, a closing curly brace

替代品:

--$1            # 2 hyphens and content of group 1
\n              # linefeed, you may use \r\n for Windows
--\t$2          # 2 hyphens, a tabulation, content of group 3
\n              # linefeed
--$3            # 2 hyphens and content of group 3

给定示例的结果:

--countries = {
--  "GER","NZG",
--}

屏幕截图:

在此处输入图片描述

相关内容