2011-04-08 7 views
5

eclipse 검색/바꾸기를 사용하여 기존 소프트웨어에 log4j를 추가하려고합니다.정규식과 일치하는 텍스트를 반복하는 방법은 무엇입니까?

아이디어는 모든 클래스 선언을 찾아이를 다음 줄의 로거 정의에 더하여 선언으로 대체하는 것입니다.

검색

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

대체 :

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

어떻게이 대체 문자열로 일치하는 패턴 (클래스 정의)을 앞에 추가 할 수 있습니까? 대체

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

:

검색 :

+0

덕분에, 나에게 몇 시간을 저장. 나는 지금 "$ 0 \ n \ n \ t 최종 정적 로거 log = Logger.getLogger ($ 1.class);" as는 문자열을 대체합니다. – stacker

답변

3

난 당신이 필요하다고 생각.

$1\Rfinal static Logger log = Logger.getLogger($2.class); 
+0

줄 바꿈을 만드는 \ R에 주목하십시오. 그리고 로거 선언이 들여 쓰기되도록 탭을 몇 개 추가하려고합니다. – janhink

1

당신은 항상 모든 일을 캡처에 넣을 수있는 내부 캡처 그룹에 살고 두 번째 역 참조.

찾기 :

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

가 교체 : 당신이 답변을

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

관련 문제