자바스크립트 정규식에서 반복자(quantifier)는 패턴의 일부를 특정 횟수만큼 반복하는 데 사용됩니다. 이는 매우 유용한데, 그 이유는 다양한 작업을 반복문을 사용하지 않고 간단하게 처리할 수 있기 때문입니다. 이 글에서는 자주 사용되는 반복자들과 사용법에 대해 살펴보도록 하겠습니다.
1. 기본 반복자
1.1. *
(0번 이상 반복)
*
반복자는 그 앞에 오는 요소가 0번 이상 반복됨을 나타냅니다. 즉, 해당 요소가 없어도 되고, 한 번 이상 나타날 수도 있습니다.
예를 들어, /ab*c/
는 "ac"
, "abc"
, "abbc"
, "abbbc"
등과 매치됩니다.
1.2. +
(1번 이상 반복)
+
반복자는 그 앞에 오는 요소가 1번 이상 반복됨을 나타냅니다. 최소 한 번 이상은 반복되어야 매치됩니다.
예를 들어, /ab+c/
는 "abc"
, "abbc"
, "abbbc"
등과 매치되지만, "ac"
와 같은 경우에는 매치되지 않습니다.
1.3. ?
(0번 또는 1번 반복)
?
반복자는 그 앞에 오는 요소가 0번 또는 1번 반복됨을 나타냅니다. 즉, 해당 요소가 없어도 되고, 한 번만 나타날 수도 있습니다.
예를 들어, /ab?c/
는 "ac"
, "abc"
와 매치됩니다.
2. 수량자
수량자(quantifier)는 반복할 횟수를 직접 지정하는 방법을 제공합니다.
2.1. {n}
(정확히 n번 반복)
{n}
수량자는 그 앞에 오는 요소가 정확히 n번 반복됨을 나타냅니다.
예를 들어, /ab{2}c/
는 "abbc"
와 매치됩니다.
2.2. {n,}
(n번 이상 반복)
{n,}
수량자는 그 앞에 오는 요소가 최소 n번 이상 반복됨을 나타냅니다.
예를 들어, /ab{2,}c/
는 "abbc"
, "abbbc"
, "abbbbc"
등과 매치됩니다.
2.3. {n,m}
(n번 이상, m번 이하 반복)
{n,m}
수량자는 그 앞에 오는 요소가 최소 n번 이상, 최대 m번 이하로 반복됨을 나타냅니다.
예를 들어, /ab{2,4}c/
는 "abbc"
, "abbbc"
, "abbbbc"
와 매치되지만, "abc"
나 "abbbbbc"
와 같은 경우에는 매치되지 않습니다.
반복자 및 수량자는 정규식 작성 시 매우 유용하며, 다양한 상황에 따라 유연하게 적용할 수 있습니다. 이를 통해 복잡한 문자열 처리 작업을 간편하게 처리할 수 있습니다.