使用 notepad++ 批量替换注释代码

使用 notepad++ 批量替换注释代码

记事本++

我正在寻找一种批量注释文本块的方法(以及撤消注释的代码)。忽略同一文件的其他部分;但同时尊重每个块中的一些差异。

示例块已被注释掉,

Code to keep Above

#1291.5.21 = { #some more text to preserve
#   owner = XXX
#   controller = XXX
#   add_core = XXX
#   remove_core = XXX
#} #some more text to preserve

More code to keep below

每个块中的 XXX 都会不同,但在不同的文件中可能相同(尽管只有三个字母/数字);对于稍微复杂的情况,理想情况下,具有 XXX 的块将被忽略(并保持注释)。

块限制的唯一真实指针是日期 = { 和结束 },它们是相同的(最多包括之后要保存的 # 文本)

我所寻找的最终结果。

Code to keep Above

1291.5.21 = { #some more text to preserve
    owner = XXX
    controller = XXX
    add_core = XXX
    remove_core = XXX
} #some more text to preserve

More code to keep below

只需单击一次即可完成 4 个或全部 8 个日期的计算,可获得加分。(因为它们构成了超级块)

1291.5.21
1291.5.23
1291.5.24
1291.5.26

1444.11.13
1444.11.15
1444.11.16
1444.11.18

答案1

以下是取消注释不具有等于 的值的行的解决方案XXX

  • Ctrl+H
  • 找什么:^#(?=\d{4}\.\d\d?\.\d\d?|}|\h+(?:owner|controller|add_core|remove_core)\h*=\h*(?!XXX)\w{3}$)
  • 用。。。来代替:LEAVE EMPTY
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^#                          # beginning of line and # sign
(?=                         # positive lookahead
    \d{4}\.\d\d?\.\d\d?         # date
  |                         # OR
    }                           # closing curly brace
  |                         # OR
    \h+                         # 1 or more horizontal spaces
    (?:                         # non capture group
        owner                       # literally
      |                         # OR
        controller                  # literally
      |                         # OR
        add_core                    # literally
      |                         # OR
        remove_core                 # literally
    )                           # end group
    \h*=\h*                     # equal sign wth optional spaces before and after
    (?!XXX)                     # negative lookahead, make sure we haven't XXX after
    \w{3}                       # 3 word characters
    $                           # end of line
)                           # end lookahead

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容