[javascript] 자바스크립트 정규식에서의 그룹화와 캡처 사용법

정규식(Regular Expression)은 문자열에서 패턴을 찾거나 대체하는 데 사용됩니다. 그룹화캡처는 정규식에서 매우 유용한 기능입니다. 이 기능들을 사용하면 특정 부분 문자열을 찾거나 추출할 수 있습니다.

그룹화

정규식에서 괄호로 둘러싼 부분은 하나의 그룹으로 취급됩니다. 그룹 안의 패턴은 하위 표현식으로 간주됩니다.

예를 들어, 전화번호의 국가 코드와 지역 번호를 각각 그룹화해 보겠습니다.

const phoneNumberRegex = /^(\+\d{2})(\d{2,3})(\d{3,4})(\d{4})$/;
const phoneNumber = "+82-2-123-4567";
const match = phoneNumber.match(phoneNumberRegex);
console.log(match);

이 예시에서는 (\+\d{2})가 국가 코드를, (\d{2,3})가 지역 번호를, (\d{3,4})(\d{4})가 나머지 번호를 각각 나타내고 있습니다.

캡처

캡처는 괄호로 둘러싼 그룹 내의 매치된 부분 문자열을 추출하는 기능입니다.

이전의 예시를 확장해서, 각각의 그룹에서 매치된 값을 추출해 보겠습니다.

const phoneNumberRegex = /^(\+\d{2})-(\d{2,3})-(\d{3,4})-(\d{4})$/;
const phoneNumber = "+82-2-123-4567";
const match = phoneNumber.match(phoneNumberRegex);
const [, country, area, exchange, subscriber] = match;
console.log(country, area, exchange, subscriber);

match 배열의 첫 번째 요소는 전체 매치된 문자열이므로, 구조 분해 할당을 통해 나머지 요소를 추출합니다.

그룹화와 캡처는 정규식을 사용할 때 특정 부분을 찾거나 추출하는 데 유용한 도구입니다.

마치며

정규식의 그룹화와 캡처를 사용하면 복잡한 문자열에서 특정한 부분을 쉽게 추출할 수 있습니다. 이를 통해 효과적으로 문자열을 처리하고 필요한 정보를 추출할 수 있습니다.