이클립스 find/Replace 정규표현식

find/Replace 창에서 Reqular expressions를 이용하여 일괄적으로 문자열 변경을 시도해 보았다.

다음 원본 쿼리의 FROM절 다음에 오는 테이블 명 앞 뒤로 back quote(`)를 추가해 주는 것이다.

원본 쿼리

SELECT DisplayInventoryId

FROM db.DisplayInventories DI


SELECT shopId

FROM db.DisplayInventories DI

변경 쿼리

SELECT DisplayInventoryId

FROM `db.DisplayInventories` DI

SELECT shopId

FROM `db.DisplayInventories` DI

문자열 패턴 검색을 위해서 다음과 같은 정규표현식을 사용했다.

(db.[a-zA-Z]+)

위의 정규표현식을 풀이하면 

db. : db. 의 문자열 탐색

[a-zA-Z]+ : 알파벳 대소문자 1개 이상

( ) : capturiing group을 의미 <- 어떤 의미인지는 아래 내용을 보면 알 수 있음

자~ 이제 정규표현식을 이용해서 특정한 규칙을 가진 문자열을 탐색하였다.

이제는 탐색된 문자열을 replace하는 정규표현식을 생성해야 한다.

`\1`

\1 : 첫 번째 capturing group을 의미한다. 즉, 위의 정규표현식에서 ( ) 로 둘러싸여 있는 부분의 문자열을 의미한다. 필요에 따라서 여러 개의 capturing group을 생성하고 \2 \3 과 같이 사용할 수 있다.

정규표현식은 알면 알수록 노가다가 준다는 것을 깨닫는다.

정규표현식 표