Многострочный поиск замените регулярным выражением в eclipse
Eclipse regexp search работает очень хорошо, так, например, в поле поиска у меня есть
(?s)(myMethod.*?;)\}\);
Теперь я хочу скопировать многострочный текст в поле IDE и в поле замены, например, я хочу вставить \1PASTE_MULTILINE_TEXT_HERE
. Однако Eclipse не позволяет мне напрямую копировать и вставлять многострочный текст без ручной вставки символов новой строки.
В vim (gvim, macvim) он работает отлично, сохраняя все пробелы; как я могу сделать то же самое в Eclipse?
Ответы
Ответ 1
Для поиска нескольких строк в Eclipse вы должны использовать параметр 's' в выражении поиска:
(?s)someExpressionToMatchInAnyLine
Для замены на несколько строк exp вы должны использовать \R i.e:
line1\Rline2\Rline3
Это заменит согласованный exp:
line1
line2
line3
Ответ 2
Как правило, подход, который я сделал для этого, - это ввести то, что я хочу использовать в качестве замены, выбрать его, открыть диалог "Найти/заменить" и скопировать содержимое текстового поля "Найти", Я исхожу оттуда и вставлю то, что я скопировал в текстовое поле "Заменить". Еще предстоит сделать небольшую работу (удаление обратных косых черт из специальных символов регулярных выражений, которые не применяются в поле "Заменить" ), но это дает мне руку вверх.