달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2017. 7. 30. 13:57

수량자 정규표현식2017. 7. 30. 13:57

<욕심쟁이 수량자> 

전체 문자열을 가져온 다음 제일 뒤 문자부터 시작하여 하나씩 백트래킹하며 일치하는지 검사한다. 때문에 시스템 자원 소비가 크다.

욕심쟁이 수량자는 ?, +, *, {n, m} 와 같이 찾고자 하는 문자열 뒤에 사용한다.

예를 들어 원본 텍스트가 99999 인 경우, 9+로 검색하면 뒤에서 부터 찾는 방향으로 탐색하기 때문에 99999가 선택된다.


<게으른 수량자>

문자열을 처음 위치부터 시작하여 일치하는 문자가 등장할 때 까지 하나씩 탐색해 나간다. 

게으른 수량자는 ??, +?, *?, {n, m}? 와 같이 욕심쟁이 수량자 뒤에 ?를 붙인다.

원본 텍스트 99999에서 9+?로 검색하면 앞에서 부터 찾는 방향으로 탐색하기 때문에 9가 선택된다.


이 외에 독점적 수량자가 있다. 욕심쟁이 수량자처럼 최대한 많이 찾지만 백트래킹이 없고 찾은 내용을 표시하지 않는 특징이 있다. 

수량자 뒤에 +를 붙여서 사용한다. 

아직은 업무에서 쓰일 만한 때가 없었기 때문에 생략...



'정규표현식' 카테고리의 다른 글

sed로 텍스트 바꾸기  (0) 2017.04.28
문자클래스  (0) 2017.04.21
비참조 그룹  (0) 2017.03.05
패턴변경자(정규표현식 옵션)  (0) 2017.02.18
Regular Expressions을 공부하자  (0) 2017.02.12
:
Posted by SK