정규 표현식의 활용(이메일 주소 변경)
Programming/RegEx 2013. 2. 3. 20:41 |이메일 주소를 찾아내는 정규식
정규 표현식에서 대쉬는 범위를 나타내는 문자로도 사용되므로, 하이픈 자체를 가리킬 때는 역슬래쉬로 이스케이프한다. 그러나 마침표는 대괄호 안에서 메타 문자의 의미를 잃기 때문에 이스케이프할 필요가 없다.
[a-zA-Z0-9.\-]\+@[a-zA-Z0-9.\-]\+
여기서 +도 이스케이프했다는 사실에 주의해야 한다. 이는 vim에서 + 기호를 특수한 목적으로 사용하기 때문이다.
검색한 메일 주소를 <a href="메일 주소"> 메일주소</a> 형식으로 변경하기
검색된 메일 주소 부분을 재사용하기 위해 정규 표현식의 백레퍼런스 기능인 소괄호를 사용해야 한다.
소괄호를 추가한 ([a-zA-Z0-9.\-]\+@[a-zA-Z0-9.\-]\+) 검색어로 다시 검색해보자.
※ 완벽한 정규 표현식을 만들 때까지는 검색 기능으로 꼭 확인을 해야 한다.
하지만 정규 표현식 패턴을 소괄호로 묶으니 검색이 실패했다.
실패한 이유는, 패턴 앞뒤에 사용된 괄호 문자를 일반 문자로 인식했기 때문이다. 즉, vim은 '(메일주소)' 형태를 찾으려고 한 것이다.
그러므로 소괄호를 이스케이프하여 \(메일주소\) 형식으로 바꿔줘야 한다.
검색한 이메일 주소 변경하기
\1 은 앞부분에서 찾은 검색 결과를 재사용하는 백레퍼런스이다.
'Programming > RegEx' 카테고리의 다른 글
정규 표현식(Regualr Expression) (0) | 2013.05.05 |
---|---|
태그 찾기 (0) | 2013.02.12 |
[Python] Regular Expression (0) | 2013.02.07 |
URL 교체하기 (0) | 2013.02.03 |
POSIX 정규 표현식 (0) | 2013.02.03 |