Как повторить текст, сопоставленный с регулярным выражением? - PullRequest
5 голосов
/ 08 апреля 2011

Я пытаюсь добавить log4j к устаревшему программному обеспечению, используя поиск / замену Eclipse.

Идея состоит в том, чтобы найти все объявления классов и заменить их на саму декларацию плюс определение регистратора в следующей строке.

search

".*class ([A-Z][a-z]+).*\{"

replace:

"final static Logger log = Logger.getLogger($1.class);"

Как можно добавить сопоставленный шаблон (определение класса) к строке замены?

Ответы [ 2 ]

3 голосов
/ 08 апреля 2011

Я думаю, вам нужно это:

поиск:

(.*class ([A-Z][a-z]+).*\{)

заменить:

$1\Rfinal static Logger log = Logger.getLogger($2.class);
1 голос
/ 08 апреля 2011

Вы всегда можете захватить всю вещь и вставить ее. Внутренняя группа захвата живет во второй обратной ссылке.

Найти:

(.*class ([A-Z][a-z]+).*\{)

Заменить на:

$1 final static Logger log = Logger.getLogger($2.class);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...