정규표현식 - 컴파일 옵션
- re.DOTALL, re.S : .(메타문자)가 \n을 포함한 모든 한 문자와 일치하는지 검사
import re
pat1 = re.compile('a.b')
pat2 = re.compile('a.b', re.DOTALL)
print(pat1.match("a\nb"))
print(pat2.match("a\nb"))
결과
None
<re.Match object; span=(0, 3), match='a\nb'>
- re.IGNORECASE, re.I : 대소문자를 무시하고 일치하는지 검사
pat = re.compile("yes", re.IGNORECASE)
print(pat.match("yes"))
print(pat.match("Yes"))
print(pat.match("yES"))
print(pat.match("YES"))
결과
<re.Match object; span=(0, 3), match='yes'>
<re.Match object; span=(0, 3), match='Yes'>
<re.Match object; span=(0, 3), match='yES'>
<re.Match object; span=(0, 3), match='YES'>
- re.MULTILINE, re.M : ^와 $와 함께 사용
- ^ : 문자열의 처음을 의미한다. (전체 문자열 중 처음)
- $ : 문자열의 끝을 의미한다.
data = """python one
life is too short
python two
you need python
python three"""
# 매 행마다 ^를 적용시킨다
pat = re.compile("^python\s[a-z]+", re.MULTILINE)
matchs = pat.finditer(data)
for match in matchs:
print(match)
결과
<re.Match object; span=(0, 10), match='python one'>
<re.Match object; span=(29, 39), match='python two'>
<re.Match object; span=(56, 68), match='python three'>
'IT 차곡차곡 > Python' 카테고리의 다른 글
[백준/파이썬] 17413번: 단어 뒤집기 2 (Python) (0) | 2021.06.23 |
---|---|
[Python] 정규표현식4 - match 객체의 메서드 (0) | 2021.06.23 |
[Python] 정규표현식3 - Dot(.), 반복(*, +, {m,n}) (0) | 2021.06.23 |
[Python] 정규표현식2 - 문자열 매치 [ ] (0) | 2021.06.23 |