'정규 표현식의 활용'에 해당되는 글 1건

  1. 2013.02.03 정규 표현식의 활용(이메일 주소 변경)

이메일 주소를 찾아내는 정규식


정규 표현식에서 대쉬는 범위를 나타내는 문자로도 사용되므로, 하이픈 자체를 가리킬 때는 역슬래쉬로 이스케이프한다. 그러나 마침표는 대괄호 안에서 메타 문자의 의미를 잃기 때문에 이스케이프할 필요가 없다.

[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
Posted by scii
: