정규식에서 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
Posted by scii
: