JavaScript 정규식 match 메서드의 캡처 그룹
이미 알고 계시듯이, match 메서드를 통해 찾은
부분 문자열은 결과 배열의 0번째 요소에 들어갑니다.
이 배열의 다른 요소에는 소위 캡처 그룹(capturing groups)이
들어갑니다.
캡처 그룹은 찾은 결과를 별도의 부분으로 나누는 방법입니다. 이를 사용하려면 정규식의 일부를 괄호로 감싸야 합니다. 이 경우, 결과 배열에는 찾은 문자열 외에도 이 괄호 안의 정규식에 해당하는 부분이 함께 나타납니다.
실제로 연습해 봅시다. 다음과 같은 시간 문자열이 있다고 가정하겠습니다:
let str = '12:34';
이 시간에서 시와 분을 별도의 캡처 그룹에 넣어 봅시다:
let res = str.match(/(\d+):(\d+)/);
결과를 살펴보겠습니다:
console.log(res[0]); // '12:34' - 찾은 전체 문자열
console.log(res[1]); // '12' - 첫 번째 캡처 그룹
console.log(res[2]); // '34' - 두 번째 캡처 그룹
도메인을 포함하는 문자열이 주어졌습니다:
let str = 'sss domain.ru zzz';
이 도메인을 찾고, 그 이름을 첫 번째 캡처 그룹에, 존(zone)을 두 번째 캡처 그룹에 넣으세요.
날짜를 포함하는 문자열이 주어졌습니다:
let str = '31.12.2025';
날짜를 첫 번째 캡처 그룹에, 월을 두 번째 캡처 그룹에, 연도를 세 번째 캡처 그룹에 넣으세요.