Многострочный поиск заменить на регулярное выражение в Eclipse

Eclipse regexp search работает довольно хорошо, поэтому, например, в окне поиска у меня есть это:

(?s)(myMethod.*?;)\}\);

Теперь я хочу скопировать многострочный текст в IDE и в поле замены, например, я хочу вставить\1PASTE_MULTILINE_TEXT_HERE, Однако Eclipse не позволяет мне напрямую копировать и вставлять многострочный текст без ручной вставки символов новой строки.

В Vim (Gvim, Macvim) он работает отлично, сохраняя все пробелы; как я могу сделать то же самое в Eclipse?

 Maarten Bodewes08 апр. 2015 г., 09:33
@DanielSokolowski Я не могу полностью вспомнить, было ли у меня время для дальнейшего изучения этого вопроса. Я конечно не подал отчет об ошибке.
 Daniel Sokolowski08 апр. 2015 г., 04:55
@MaartenBodewes - вы создали или нашли сообщение об ошибке для этого?
 Sean F23 мая 2013 г., 05:35
 Maarten Bodewes06 июн. 2013 г., 14:41
@codegood после некоторых обширных исследований я обнаружил, что вы можете использовать файловые поля поиска для многострочной замены. Тот факт, что "редактор" Заменить (во всплывающем окне поиска) не удается без каких-либо указаний. Я считаю ошибку в Eclipse иЯ должен выяснить, если я должен создать отчет об ошибке для него ...
 codegood23 мая 2013 г., 08:56
спасибо, но это больше о многострочном поиске, включенном с помощью флага dotall или (? s), который я уже делаю. Обратите внимание, что поисковая часть работает, многострочная замена не

Ответы на вопрос(2)

Вообще, подход, который яДля этого нужно набрать то, что я хочу использовать в качестве замены, выбрать его, открыть диалоговое окно «Найти / заменить» и скопировать содержимое текстового поля «Найти». Я продолжаю оттуда и вставляю то, что я скопировал в текстовое поле Заменить. Еще предстоит проделать небольшую работу (удаление обратной косой черты перед специальными символами регулярных выражений, которые нене применимо в поле «Заменить»), но это дает мне руку.

Для поиска нескольких строк в Eclipse вы должны использовать 's' параметр в поисковом выражении:

(?s)someExpressionToMatchInAnyLine

Для замены на несколько строк exp вы должны использовать \ R i.e:

line1\Rline2\Rline3

Это заменит совпавший опыт с:

строка 1

line2

line3

 Lii01 мар. 2019 г., 13:44
Дополнительная информация:?s это особенностьРеализация Java регулярных выражений и называется "встроенное выражение флага ", Я сильно подозреваю, что другие выражения флагов также работают в диалоге поиска Eclipse.

Ваш ответ на вопрос