2017-01-01 6 views
-1

Я хотел бы Notepad ++ регулярное выражение для заменыЗаменить все вне Кронштейны

dep_rwy: [ДЛЯ ВЫЛЕТА ОЖИДАТЬ] [ПОДИУМ]% deprwy%

в

ДЛЯ ВЫЕЗДА EXPECT
RUNWAY

В каждой строке может быть три или для скобок, для чего это необходимо для работы.

wind_grp: переменный: [изменяется между]% Vmin% [И]% Vmax% [ГРАДУСЫ]

Должны стать

ПЕРЕМЕННЫХ МЕЖДУ
И
ГРАДУСОВ

Что я до сих пор знаю

(.*)[(.*)](.*) 
+0

Пожалуйста дать explample для ожидаемого выхода в трех и четырех «скобки в строке» случае, например,если третье и четвертое будут пропускаться или каким-то образом использоваться. –

+0

Вы также должны показать нам, что было сделано до сих пор, чтобы решить эту проблему. – revo

+0

wind_grp \t: переменная: [VARIABLE BETWEEN]% vmin% [AND]% vmax% [DEGREES] должно стать ПЕРЕМЕННЫМ МЕЖДУ новой строкой И новой строкой СТЕПЕНИ что я до сих пор (. *) \ [(. *) \] (. *) заменен на \ 2, но он возьмет только один из скобок – Dreagan

ответ

1

ли регулярное выражение поиска/замены, как это:

  • Открыть Заменить Dialog
  • Найти Что:[^\[\]]*\[([^\]]+)\]
  • Заменить:\1\n
  • Проверка регулярное выражение
  • Нажмите Заменить или Заменить все

Объяснение

  • одна проблема заключается в том скобки RE метасимволы, что означает, что мы должны бежать каждый кронштейн, когда нам нужно буквальное скобу, то есть буквальный кронштейн становится \[ или \] в RE
  • здесь в RE мы ищем необязательную часть, которая может состоять из всего не скобки ([\[\]]*)
  • с последующим открывающей скобки, за которым следует Somthing не закрывающей скобки (([^\]]+)), который также захвачен в \1 из-за скобки, для повторного использования в замене
  • все, что соответствует выше, полностью заменены все было захвачено в \1 с последующим переводом строки (\n), когда вам нужно lineendings окна стиле, вы можете захотеть использовать \r\n вместо
+0

Спасибо, работает как шарм. Однако я не могу поддержать ваш ответ, поскольку у меня пока нет достаточной репутации. – Dreagan