컴퓨터 중복 단어 혹은 문장 제거하는 정규표현식
2016.01.05 16:51
회사에서 데이터 작업을 하는데 아래처럼 주소가 두 번 반복되는 일이 있었다.
이 중복을 노가다로 고치느냐, 아니면 잔머리 굴리느냐 하면서 검색해보니 정규표현식으로 가능했다.
일단 저 주소들을 UltraEdit 로 복사하고 (Ultra Edit의 정규식 기능은 Perl 기준으로도 가능해서 꽤 쓸만하다.)

찾기/바꾸기 상자에서 검색대상으로 (.+) \1
교체할 대상으로 \1
하고는 '모두 교체' 버튼을 클릭하면 중복된 걸 바꾼다.
. 이 뜻하는 건 모든 임의의 문자
+ 가 뜻하는 건 한 개 이상 있다.
\1은 첫 번째 괄호의 것이라는 뜻.
즉 (.+) \1 의 뜻은 똑같은 게 공백을 사이에 두고 반복되고 있다는 거.
교체할 대상에 \1 라고 한 번 쓴 건, 첫 번째 괄호 안의 것을 한 번만 나오게 하라는 거.
중복 제거가 아니라 오히려 중복을 늘려서 3번 만들고 싶으면 \1 \1 \1 을 교체 대상으로 두면 된다.






