회사에서 데이터 작업을 하는데 아래처럼 주소가 두 번 반복되는 일이 있었다.


중복 문장.jpg


이 중복을 노가다로 고치느냐, 아니면 잔머리 굴리느냐 하면서 검색해보니 정규표현식으로 가능했다.


일단 저 주소들을 UltraEdit 로 복사하고 (Ultra Edit의 정규식 기능은 Perl 기준으로도 가능해서 꽤 쓸만하다.)


UltraEdit에서 중복문장 제거.jpg


찾기/바꾸기 상자에서 검색대상으로 (.+) \1

교체할 대상으로 \1


하고는 '모두 교체' 버튼을 클릭하면 중복된 걸 바꾼다.


. 이 뜻하는 건 모든 임의의 문자


+ 가 뜻하는 건 한 개 이상 있다.


\1은 첫 번째 괄호의 것이라는 뜻.


즉 (.+) \1 의 뜻은 똑같은 게 공백을 사이에 두고 반복되고 있다는 거.


교체할 대상에 \1 라고 한 번 쓴 건, 첫 번째 괄호 안의 것을 한 번만 나오게 하라는 거.


중복 제거가 아니라 오히려 중복을 늘려서 3번 만들고 싶으면 \1 \1 \1 을 교체 대상으로 두면 된다.

profile

이브리타, 나의 에뜨와르
너와 내가 공유하는 추억
너와 내가 만들 추억