갯수 반복 패턴

0. 요약

기호
의미

?

없거나 or 최대 한개만

*

없거나 or 있거나(여러개)

+

최소 한개 or 여러개

{n}

n개

{Min,}

최소 Min개 이상

{Min,Max}

최소 Min개 이상, 최대 Max개 이하


1. ? 패턴

? 패턴은 물음표 앞의 패턴이 있든 없든 상관없이 찾는다. 단, 있을 때는 1개 있는 경우만 찾는다.

1-1. ? 패턴 사용예시

정규 표현식은 /l?o/g이다. 해당 정규 표현식을 해석하자면 l 문자는 없어도 되지만 있을 경우 1개만 매칭된다. o 문자는 l 문자 이후에 오게 될 문자이다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

/l?o/g을 통해 매칭되는 문자는 o 또는 lo 뿐이다.

? 패턴 사용예시

2. * 패턴

* 패턴은 별표 앞의 패턴이 있든 없든 상관없이 찾는다. ? 패턴과는 다르게 있는 경우에 1개 이상있는 경우를 찾는다.

2-1. * 패턴 사용예시

정규 표현식은 /l*o/g이다. 해당 정규 표현식을 해석하자면 l 문자는 없어도 되지만 있을 경우 1개 이상이 매칭된다. o 문자는 l 문자 이후에 오게 될 문자이다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

/l*o/g을 통해 매칭되는 문자는 o 또는 l(1개 이상)o이다.

* 패턴 사용예시

3. + 패턴

+ 패턴은 플러스 앞의 패턴이 무조건 있는 경우를 찾고 1개 이상 있는 경우를 모두 찾는다.

?, * 패턴은 기호 앞의 패턴이 없는 경우도 찾지만 + 패턴은 기호 앞의 패턴이 없는 경우엔 찾지 않는다.

3-1. + 패턴 사용예시

정규 표현식은 /l+o/g이다. 해당 정규 표현식을 해석하자면 l 문자는 반드시 있어야 하며 없는 경우 매칭이 되지 않는다. 또한 있을 경우 1개 이상이 매칭된다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

/l+o/g을 통해 매칭되는 문자는 l(1개 이상)o이다.

+ 패턴 사용예시

4. {n} 패턴

{n} 패턴은 앞의 패턴이 정확히 n개 있는 경우를 찾는다.

4-1. {n} 패턴 사용예시

정규 표현식은 /l{3}o/g이다. 해당 정규식을 해석하자면 l 문자가 정확히 3개 있어야 하고 이후에 o 문자가 와야한다. 즉 lllo 문자만 매칭된다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

{n} 패턴 사용예시

5. {Min,} 패턴

{Min,} 패턴은 앞의 패턴이 최소 Min개 있는 경우를 찾는다.

5-1. {Min,} 패턴 사용예시

정규 표현식은 /l{3,}o/g이다. 해당 정규식을 해석하자면 l 문자가 3개 이상이 있고 이후에 o 문자가 와야한다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

{Min,} 패턴 사용예시

6. {Min,Max} 패턴

{Min,Max} 패턴은 앞의 패턴이 최소 Min개 있고 최대 Max개인 경우를 찾는다.

6-1. {Min,Max} 패턴 사용예시

정규 표현식은 /l{2,4}o/g이다. 해당 정규식을 해석하자면 l 문자가 최소 2개 이상 최대 4개 이하가 있고 이후에 o 문자가 와야한다. 또한 g 플러그를 사용했기 때문에 정규 표현식에 해당하는 모든 문자가 매칭된다.

{Min,Max} 패턴 사용예시

7. Conclusion

갯수 반복 패턴에 대해서 정리를 하였다. 이전에 정리한 숫자 문자 매칭 패턴과 함께 쓰여 더욱 다양한 패턴을 만들 수 있는 것이 놀라웠고 이러한 것들을 어떻게 실제 코드에 적용할 수 있을까 하는 기대감이 생기고 있다. 코딩 테스트 문제에 정규식을 이용한 풀이가 안나올려나..?


참고

[JS] 📚 정규표현식(RegExp) - 이해하기 쉽게 정리 + 응용 예제 정규표현식(Regular Expression, regex)


📅 2023-01-25

Last updated