記事本++
我正在尋找一種對文字區塊進行大規模評論(以及撤消它的程式碼)的方法。忽略同一文件的其他部分;但同時尊重每個區塊的一些差異。
範例區塊已註解掉,
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 可能相同(儘管只有三個字母/數字);對於一點額外的複雜性,理想情況下,恰好是 XXX 的區塊將被忽略(並保留註釋)。
區塊限制的唯一實際指標是 date(s) = { 和結束 } ,它們是相同的(直到並主要包括要保存的 # 文字)
我正在尋找什麼的最終結果。
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
截圖(之前):
截圖(之後):