Я хочу удалить весь текст, кроме [ и ] и что между ними.
Как бы я поступил так в Notepad++?
Пример ввода:
[A B C] bla bla text here [D E F] bla bla text here [G H I] bla bla
bla here [J K L] M N O] bla bla text here [P Q R [S T U] even more bla
Желаемый результат:
[A B C][D E F][G H I]
[J K L] M N O][P Q R [S T U]
Первая строка, в которой квадратные скобки встречаются в [ ... ] совпадающих парах, довольно проста в обращении.
Второй хитрый: я хочу сохранить пары [ ... ] скобок, даже если они содержат другие скобки.
(У меня проблемы с поиском способа описать это точно; см. Примеры.)
Я разработал пару решений, в которых есть правильные случаи:
Ответ 1:
Find what: [^\]]+(\[|$)
Replace with: \1
Gives me:
[A B C][D E F][G H I]
[J K L] M N O][S T U]
Обратите внимание, что этот получает [J K L] M N O] правильно, но отбрасывает [P Q R
Ответ 2:
Find what: [^\[]*(\[.*?\])[^\[]*
Replace with: $1
Gives me:
[A B C][D E F][G H I]
[J K L][P Q R [S T U]
Этот, наоборот, получает [P Q R [S T U] право, но отбрасывает M N O] .
Как я могу получить это, чтобы дать мне то, что я хочу?
