달력

7

« 2020/7 »

  • 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
  • 31
  •  


 

 

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
Greedy(탐욕스러운), non-greedy 문자 ?  (0) 2020.03.16
re 모듈(regular expression)  (0) 2020.03.09
반복 {m,n}  (0) 2020.03.04
반복 (+)  (0) 2020.03.04
Posted by codedragon codedragon

댓글을 달아 주세요