본문 바로가기
Dev/정규표현식

[정규표현식] 수량자

by dev_jsk 2020. 11. 19.
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
반응형

댓글