import re
p = re.compile('ab*')
p = re.compile('[a-z]+')
m = p.match('tempo') # <re.Match object; span=(0, 5), match='tempo'>
m.group() # 'tempo'
m.start(), m.end() # (0, 5)
m.span() # (0, 5)
print(p.match('::: message')) # None
m = p.search('::: message') # <re.Match object; span=(4, 11), match='message'>
m.group() # 'message'
m.span() # (4, 11)
p = re.compile(r'\d+')
p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping') # ['12', '11', '10']
iterator = p.finditer('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')
for match in iterator:
print(match.span())
# (0, 2)
# (22, 24)
# (40, 42)
그냥 읽어보기
플래그 | 의미 |
---|---|
ASCII, A | \w, \b, \s 및 \d와 같은 여러 이스케이프가 해당 속성이 있는 ASCII 문자에만 일치하도록 합니다. |
DOTALL, S | .가 개행 문자를 포함한 모든 문자와 일치하도록 합니다. |
IGNORECASE, I | 대소 문자 구분 없는 일치를 수행합니다. |
LOCALE, L | 로케일을 고려하는 일치를 수행합니다. |
MULTILINE, M | 다중 행 일치, ^와 $에 영향을 줍니다. |
VERBOSE, X (‘확장’ 용) | 더 명확하고 이해하기 쉽게 정리될 수 있는 상세한 RE를 활성화합니다. |