Greedy(탐욕스러운), non-greedy 문자 ?

CODEDRAGON Development/Regular Expression

반응형


 

 

Greedy(탐욕스러운)

* 메타문자는 매우 탐욕스러워서 매치할 수 있는 최대한의 문자열을 취합니다.

 

import re

 

target = '<html><head><title>Title</title></head><body></body></html>'

print(re.match('<.*>', target).group())

<html><head><title>Title</title></head><body></body></html>

 

 

 

 

 

 

non-greedy 문자 ?

·       non-greedy 문자인 ?을 사용하면 *의 탐욕을 제한(greedy 제한)할 수 있습니다.

·       non-greedy 문자인 ? *?, +?, ??, {m,n}?과 같이 사용할 수 있습니다.

·       가능한 한 가장 최소한의 반복을 수행하도록 도와주는 역할을 합니다.

 

 

print(re.match('<.*?>', target).group())

<html>

 

 

 

 


'Development > Regular Expression' 카테고리의 다른 글

Match 객체의 메소드  (0) 2020.03.27
sub()  (0) 2020.03.21
re 모듈(regular expression)  (0) 2020.03.09
반복 {m,n}  (0) 2020.03.04
반복 (+)  (0) 2020.03.04