<욕심쟁이 수량자>
전체 문자열을 가져온 다음 제일 뒤 문자부터 시작하여 하나씩 백트래킹하며 일치하는지 검사한다. 때문에 시스템 자원 소비가 크다.
욕심쟁이 수량자는 ?, +, *, {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 |