728x90
반응형
수량자
어떠한 패턴이 얼만큼 등장하는가를 나타내는 것
* (Star)
* 앞에 문자가 0개 이상인 문자열을 찾는다는 의미이다.
+ (Plus)
+ 앞에 문자가 1개 이상인 문자열을 찾는다는 의미이다.
? (Question Mark)
? 앞에 문자가 없거나 1개인 문자열을 찾는다는 의미이다.
수량자 예제 1
1. * 이용

2. + 이용

3. ? 이용

{ } (Curly Brackets)
찾을 패턴에 대한 정확한 수량을 지정할 때 사용한다.
수량자 예제 2
1. { } 이용하여 특정 갯수 범위 지정

2. { } 이용하여 최소 범위만 지정

*? (Star + Question Mark)
*와 ?가 이어져 사용될 경우 0개를 의미한다.
+? (Plus + Question Mark)
+와 ?가 이어져 사용될 경우 1개를 의미한다.
?? (Question Mark + Question Mark)
?가 2개가 이어져 사용될 경우 0개를 의미한다.
수랑자 예제 3
1. *? 이용

2. +? 이용

3. ?? 이용

탐욕적인 수량자 (Greedy Quantifier)
패턴을 찾을 때 뒤에서 부터 검색하여 최대한 많은 패턴을 적용한다.
게으른 수량자 (Lazy Quantifier)
패턴을 찾을 때 앞에서 부터 검색하여 최대한 적은 패턴을 적용한다.
탐욕적인 수량자와 게으른 수량자 예제
1. 탐욕적인 수량자

2. 게으른 수량자

결과를 보자면 탐욕적인 수량자는 최대한 많은 패턴을 적용하려고 하기 때문에 전체가 다 선택이 되었고, 게으른 수량자는 최대한 적은 패턴을 적용하려고 하기 때문에 중간에 나타난 </div>를 끝으로 2개의 매치 결과가 나타난다.
728x90
반응형
'Dev > 정규표현식' 카테고리의 다른 글
| [정규표현식] 위치지정과 탐색 (0) | 2020.11.20 |
|---|---|
| [정규표현식] 문자 클래스와 경계 (0) | 2020.11.20 |
| [정규표현식] 서브 패턴 (0) | 2020.11.19 |
| [정규표현식] 특정 문자 (0) | 2020.11.19 |
| [정규표현식] 모든 문자 (0) | 2020.11.19 |
댓글