반응형
정규표현식을 많이들 쓰지만, 역참조는 많이들 안쓴다.
알고 쓰면 상당히 편리하다.
보통 정규표현식으로 패턴에 해당값을 추출만 하지, 패턴에 해당하는 값에
추가로 값을 붙일때 쓰면 편리하다.
( 역참조를 사용하면 원문의 특정 패턴을 찾아 "추가문자 + 패턴 + 추가문자" 으로 치환이 가능)
말이 어려우니 밑에 코드 보는게 역시 제일 빠르다.
여기 아래에 String 값에 이메일 주소가 있다.
var string = "Hello, ynkim@ynkim.com is my email address.";
나는 이메일 값에다가 시작과 끝에다가 대괄호 추가로 넣고 싶어!!
이렇게 => "Hello, [ynkim@ynkim.com] is my email address.";
이때 정규식 역참조를 쓰면 된다.
(이메일 정규 표현식은 알고 있어야겠지?? 모르겠으면 검색하면 다 나옴 )
var string = "Hello, ynkim@ynkim.com is my email address.";
var reg1 = /\w[\w\.]*@[\w\.]+\w+/gi; // 이메일 패턴 정규표현식
console.log(string.replace(reg1,'[$&]')); // 역참조 키워드 $& 사용
// 결과값 : Hello, [ynkim@ynkim.com] is my email address.
사용하자면 무궁 무진하다. 다른케이스를 하나만 더 해보자.
예를 들면 메일 tag를 걸고 싶어!!
var string = "Hello, ynkim@ynkim.com is my email address.";
var reg1 = /\w[\w\.]*@[\w\.]+\w+/gi; // $& 이용
(string.replace(reg1,'<A HREF="mailto:$&">$&</A>')); // 역참조 키워드 $& 사용
// 결과값 : Hello, <A HREF="mailto:ynkim@ynkim.com">ynkim@ynkim.com</A> is my email address
간단하죠??
반응형
댓글