find/Replace 창에서 Reqular expressions를 이용하여 일괄적으로 문자열 변경을 시도해 보았다.
다음 원본 쿼리의 FROM절 다음에 오는 테이블 명 앞 뒤로 back quote(`)를 추가해 주는 것이다.
원본 쿼리
SELECT testInventoryId
FROM db.TestInventories DI
SELECT id
FROM db.Inventories DI
변경 쿼리
SELECT testInventoryId
FROM `db.TestInventories` DI
SELECT id
FROM `db.Inventories` DI
문자열 패턴 검색을 위해서 다음과 같은 정규표현식을 사용했다.
(db.[a-zA-Z]+)
위의 정규표현식을 풀이하면
db. : db. 의 문자열 탐색
[a-zA-Z]+ : 알파벳 대소문자 1개 이상
( ) : capturiing group을 의미 <- 어떤 의미인지는 아래 내용을 보면 알 수 있음
자~ 이제 정규표현식을 이용해서 특정한 규칙을 가진 문자열을 탐색하였다.
이제는 탐색된 문자열을 replace하는 정규표현식을 생성해야 한다.
`\1`
\1 : 첫 번째 capturing group을 의미한다. 즉, 위의 정규표현식에서 ( ) 로 둘러싸여 있는 부분의 문자열을 의미한다. 필요에 따라서 여러 개의 capturing group을 생성하고 \2 \3 과 같이 사용할 수 있다.
정규표현식은 알면 알수록 노가다가 준다는 것을 깨닫는다.
'개발툴' 카테고리의 다른 글
eclipse svn client (Subversive) 에서 svn 아이콘이 안 보이는 현상 (0) | 2014.01.02 |
---|---|
maven packaging 시 test 제외 방법 (0) | 2013.12.31 |
Nexus에 jar파일 올리기 (0) | 2013.12.03 |
누가 Javadoc을 안 달았는지 확인하는 방법 (JAutodoc) (0) | 2013.10.17 |
이클립스 Console 뷰 두 개 띄운 후 프로세스별 로그 구분 (0) | 2013.09.04 |
이클립스에 EGit 플러그인 설치 후 Github 연동 (0) | 2013.08.26 |
wireshark Capture Filter 설정 방법 (1) | 2013.07.31 |
StarUML 시퀀스다이어그램 그리기 (2) | 2013.07.04 |