[REGEX] Greedy vs Non-Greedy
Houdini/Python 2016. 10. 9. 23:31 |정규식에서 Greedy(탐욕스러운)란 어떤 의미일까?
"<.*>" 정규식의 매치 결과로 <html> 문자열이 리턴되기를 기대했다. 하지만 * 메타 문자는 매우 탐욕스러워서 매치할 수 있는 최대한의 문자열인 <html><head><title>Title</title></head></html> 문자열을 모두 소모시켜 버렸다. 어떻게 하면 이 탐욕스러움을 제한하고 <html> 이라는 문자열까지만 소모되도록 막을 수 있을까?
다음과 같이 Non-Greedy 문자인 ? 을 사용하면, * 의 탐욕을 제한할 수 있다.
Non-Greedy 문자인 ? 은 *?, +?, ??, {m, n}? 와 같이 사용할 수 있다.
가능한 한 가장 최소한의 반복을 수행하도록 도와주는 역할.
'Houdini > Python' 카테고리의 다른 글
고급 문자열 formatting (0) | 2016.10.10 |
---|---|
[PySide] Python panel Test UI (0) | 2016.01.25 |
Scene View Select (obj, geo, dop, etc...) (0) | 2013.07.11 |
rot, trans, scale (0) | 2013.05.25 |
hou Module Functions (0) | 2013.04.01 |