JavaScript 정규 표현식(RegExp)에서 특정 문자가 2개에서 3개까지 연속해서 나타나는 문자열을 찾으려면 {2,3} 수량자(Quantifier)를 사용하면 됩니다.
{2,3} 수량자란?
수량자는 바로 앞에 위치한 문자나 그룹이 반복되는 횟수를 지정하는 메타 문자입니다. 예를 들어 p{2,3}은 문자 'p'가 최소 2번, 최대 3번 연속으로 등장하는 모든 패턴과 일치합니다.
p{2}: 'p'가 정확히 2번 반복되는 경우p{2}: 'p'가 2번 이상 반복되는 경우p{2,3}: 'p'가 2번에서 3번 사이로 반복되는 경우
예제 코드
<html>
<head>
<title>JavaScript Regular Expression</title>
</head>
<body>
<script>
var myStr = "app, apple, pp, ppp, happy";
var reg = /p{2,3}/g;
var match = myStr.match(reg);
document.write(match);
</script>
</body>
</html>실행 결과
pp,pp,pp,ppp,pp
정규식 뒤에 붙인 g 플래그는 전역 검색(global search)을 의미하며, 문자열 내에서 일치하는 모든 패턴을 한 번에 찾아 배열로 반환합니다.
숫자 패턴에도 동일하게 적용
같은 원리를 숫자에 적용하면 \d{2,3}으로 2~3자리 숫자를 손쉽게 추출할 수 있습니다. 예를 들어 "Welcome 1, 10, 100, 1000"이라는 문자열에 /\d{2,3}/g를 적용하면 10,100,100이 결과로 반환됩니다. 이처럼 {2,3} 수량자는 문자 종류에 관계없이 반복 횟수 범위를 지정하는 데 유용하게 활용됩니다.