Как искать и заменять 2 строки (вместе) в Eclipse? - PullRequest
49 голосов
/ 02 июля 2010

Я бы хотел найти несколько файлов через eclipse для следующих 2 строк:

@Length(max = L_255)
private String description;

и замените их следующими:

@Length(max = L_255, message="{validator.description.len}")
private String description;

Ответы [ 5 ]

56 голосов
/ 09 декабря 2011

Еще один совет о том, как получить регулярное выражение для выбранного блока.Откройте один из файлов, который содержит несколько строк (многострочный) для поиска или замены.Нажмите Ctrl + F и выберите «Регулярное выражение».Закройте окно поиска / замены.Выберите нужный блок и снова нажмите Ctrl + F , чтобы открыть окно «Найти / заменить».Теперь в текстовом поле Найти у вас есть регулярное выражение, которое точно соответствует вашему блоку выделения.

(Я обнаружил это, только после создания вручную регулярного выражения для очень длинного блока:)

40 голосов
/ 02 июля 2010

Поиск в Eclipse по умолчанию является многострочным, когда вы используете регулярное выражение:

(\@Length\(max = L_255)\)([\r\n\s]+private)

Я хотел бы добавить "частное описание строки";

(\@Length\(max = L_255)\)([\r\n\s]+private\s+?String\s+description\s*?;)

заменено на:

\1, message="{validator.description.len}")\2

Отлично работает при поиске файлов, запускаемом CTRL - H .

Eclipse multi-line search

Как уже упоминалось в Tika s answer , вы можете напрямую скопировать две строки, выбранные в поле «Содержащий текст» : эти строкиEclipse будет преобразован для вас как регулярное выражение .

14 голосов
/ 16 января 2013

CTRL + H занимает две строки, если вы используете регулярное выражение (и вам не нужно писать регулярное выражение самостоятельно, eclipse сделает это за вас).

  1. Выберите ваши строки.
  2. Нажмите CTRL + H. Откроется диалоговое окно поиска. Если «Регулярное выражение» уже отмечено, eclipse преобразует две строки, которые вы ищете, в регулярное выражение для вас, нажмите «Поиск». Если «Регулярное выражение», если еще не отмечено, отметьте его и нажмите «Отмена» (eclipse запоминает ваш выбор).
  3. Выберите ваши строки снова.
  4. Нажмите CTRL + H. Откроется диалоговое окно поиска. На этот раз «Регулярное выражение» уже выбрано. eclipse преобразует две строки, которые вы ищете, в регулярное выражение, нажмите Поиск.
3 голосов
/ 01 июня 2015

Быстрый совет по включению нескольких строк в составное регулярное выражение, создаваемое вручную:

Где вы обычно используете .* для совпадения с любым символом ноль или более раз, вместо этого используйте что-то вроде (?:.|\r?\n)*,Или добавьте дополнительный ? в конце, чтобы сделать его не жадным.

Объяснение : . не соответствует новым строкам, поэтому нужно сделать "либо-или ": круглые скобки соответствуют либо . перед каналом, либо новой строке после него.? после \r делает возврат каретки до перевода строки необязательным, чтобы разрешить новые строки в Windows или Unix.?: исключает все это как группу захвата (которая помогает избежать переполнения стека).

0 голосов
/ 02 июля 2010

Выберите папку, в которой находятся все ваши файлы, и нажмите Ctrl + H .

...