2011-05-11 4 views
9

저는 정규 표현식 기술을 개발 중이므로 커뮤니티에 기대고 있습니다. 나는 "Eclipse로"코드를 리팩토링하고 싶지만, 검색과 치환 기능이 정규 표현식을 받아들이는 많은 IDE를 사용했다. 나는 물건을 찾기 위해 성공적으로 일반 표현을 만들었지 만 일치 패턴의 일부를 가져 와서 대체 값으로 사용할 수 있는지 궁금합니다. 예를 들어 "testSomeFunction1(), testSomeFunction2(), testAnotherFunction()"라는 패턴으로 이름 지어진 많은 테스트 함수가 있습니다. "test_someFunction1(), test_someFunction2(), test_anotherFunction() "Find :는"test [AZ] "이지만 Replace with와 함께 무엇을 사용합니까?"test_ [az] "는 그대로 대체됩니까? 아마도 대체 할 때 정규식을 사용할 수 없습니까?리팩토링 코드에서 Eclipse의 찾기/바꾸기와 함께 정규 표현식을 사용하는 방법

+1

궁금한 점이 있습니다. 이미 수행해야하는 작업에 대해 이미 가정했기 때문에 Eclipse에서 직접 사용해 보시기 바랍니다. – Sandman

+0

감사합니다 Sandman. 나는 분명해야했다. 나는 이미 그것을 시도하고 실패했습니다. 그러므로 도움을 요청하는 이유. –

+0

내 답변에 표시된대로 캡처 및 백 - 참조 그룹을 시도 했습니까? –

답변

15

For 당신이 게시 한 샘플 텍스트는 찾기 식 test([a-z]*)해야하며이 test_$1해야 대체합니다.

$i에 의해 참조 캡처 그룹을 사용합니다 곳 i입니다 캡처 그룹 인덱스 (0 전체 표현이다). 당신을 할 수있다 또한 검색 문자열이 대소 문자를 구별하지 않는 경우 permuteString과 같은 텍스트도 표현식과 일치하므로 검색 문자열의 대소 문자를 고려해야합니다.

또한 (당신이 Regular expressions의 상자를 확인 한 후) 옵션은 정규 표현식에 사용할 수있는 볼 수있는 Find/Replace 대화 상자의 텍스트 필드에 내용이 보조 사용할 수 있어야합니다 - 눌러 CTRL + SPACE

+0

감사합니다. 실제로 "역 참조 그룹"을 검색하는 용어를 아는 데 도움이됩니다. 더 많이 배울수록 모를 정도의 양을 알게됩니다. –

+0

당신을 진심으로 환영합니다. Java 출발점에서 Java 출발점을 찾으려면 [Java regex tutorial] (http://download.oracle.com/javase/tutorial/essential/regex/)이 필요합니다. 물론 Java와 관련이 있지만 개념은 매우 일반적입니다. . –

6

이클립스와 관련된 정규식 연산자 인 \ C를 꼭 확인하십시오. 동일한 단어를 대문자, 소문자 및 camelCase 변형으로 대체하는 데 많은 시간을 절약 할 수 있습니다. 예를 들어, 원래 텍스트 인 경우 :

AnotherObject anotherObject = ANOTHEROBJECT; 

:

SomeObject someObject = SOMEOBJECT; 

는 다음 당신을 얻을 것이다

\CanotherObject 

someObject 

교체 "모두 바꾸기"하고 아마도 당신이 원하는 것입니다.

관련 문제