본문 바로가기
개발

[정규 표현식] 수량자 -2

by 마스터누누 2017. 4. 18.
728x90
반응형

정규표현식 - 수량자-2





Page 15 - { } 원하는 값의 수량을 정확하게 지정함




Case 1

.{5} 5개의 문자를 선택. 

All matches의 경우 마지막이 5개가 되지않으므로 남는것을 반환


Case 2

[els] e, l, s가 1개 이상, 3개 미만인 값을 선택


Case 3

[a-z]{3,} a에서 z까지 3개 이상인 문자를 선택







Page 16 - { }를 이용하여 *,+,? 와 동일한 기능을 사용하는 방법






Case 1 - Case 2, Case 3 - Case 4, Case 5 - Case 6이 동일한 결과이다.







Page 17 - ?가 수량자(*, +, ?)와 만났을때 기능이 바뀐다


 

Case 1 -  Case 2

* 는 0개에서 여러개를 지정하는 수량자이다.

*와 ?가 결합하면 *는 0개를 지정하는 수량자로 기능이 바뀐다.


Case 3 -  Case 4

+ 는 1개에서 여러개를 지정하는 수량자이다.

+와 ?가 결합하면 +는 1개를 지정하는 수량자로 기능이 바뀐다.


Case 5 -  Case 6

? 는 1개에서 여러개를 지정하는 수량자이다.

?와 ?가 결합하면 ?는 0개를 지정하는 수량자로 기능이 바뀐다.

 





?로 수량자의 기능을 변경하는 이유


: ?로 수량자의 기능을 변경하지 않는 경우 

전체가 선택되어 greedy quantifier로 동작하므로 원하는 값을 얻을수 없다. 

그러나 ? 로 기능을 변경할 경우 분할이 되므로 lazy quantifier 로 동작한다.  

따라서 원하는 값을 얻기위해 수량자의 기능을 변경한다.


Greedy quantifier




lazy quantifier




반응형

'개발' 카테고리의 다른 글

[정규 표현식] Assertion  (0) 2017.04.18
[정규 표현식] Character Class  (0) 2017.04.18
[정규 표현식] 수량자 - 1  (0) 2017.04.18
[정규 표현식] SUBPATTERN  (0) 2017.04.18
[정규 표현식] 특정 문자  (0) 2017.04.18

댓글