メモ帳++
テキスト ブロックに大量のコメントを付ける方法 (およびそれを元に戻すコード) を探しています。同じファイルの他の部分は無視しますが、同時に各ブロック内のいくつかの違いを尊重します。
例のブロックはすでにコメントアウトされています。
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 は各ブロックで異なりますが、異なるファイルでは同じになる可能性があります (ただし、文字/数字は 3 つだけです)。少し複雑にするために、理想的には、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
1 回のクリックで 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
スクリーンショット(前):
スクリーンショット(後):