JavaScript 정규식의 replace 메서드에서 기본 캡처 그룹
replace 메서드에서는 사용자가 지정한 번호의 캡처 그룹 외에도 항상 표준 캡처 그룹을 사용할 수 있습니다: %vFran - 찾은 모든 일치 항목,
%vFran 및 %vFran - 일치 항목 앞과 뒤의 문자열 부분입니다. 예제를 통해 이들의 사용법을 살펴보겠습니다.
예제
모든 숫자를 찾아서 괄호로 감싸 보겠습니다:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
결과로 변수에는 다음이 저장됩니다:
'(1) (23) (456)'
예제
@ 기호를 찾아서 그 앞에 있는 부분, @ 기호 자체, 그리고 그 뒤에 있는 부분으로 대체해 보겠습니다. 이 모든 것을 괄호 안에 기록합니다:
let str = '123@456';
let res = str.replace(/@/g, "(%vFran@%vFran)");
결과로 변수에는 다음이 저장됩니다:
'123(123@456)456'
예제
달러 기호를 찾아서 백틱 ``으로 감싸고 싶다고 가정해 보겠습니다. 이 경우 $가 명령으로 인식되지 않도록 하려면 달러 기호를 두 번 써야 합니다:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
결과로 변수에는 다음이 저장됩니다:
'aaa `$` bbb'
실습 문제
다음 문자열이 주어졌습니다:
let str = 'a1b2c3';
각 숫자 옆에 동일한 숫자를 작성하는 정규식을 작성하세요.
다음 문자열이 주어졌습니다:
let str = 'sss site.ru zzz site.com kkk';
도메인을 다음과 같은 형식의 링크로 바꾸세요:
<a href="http://site.ru">site.ru</a>