>>> import re
>>> p = re.compile('ab*')
>>> import re
>>> p = re.compile('ab*', re.IGNORECASE)
>>> import re
>>> p = re.compile('\section')
>>> import re
>>> p = re.compile('\\section')
>>> import re
>>> p = re.compile('\\\\section')
>>> import re
>>> p = re.compile(r'\\section')
컴파일 된 패턴 객체가 제공하는 메소드
match() | 문자열의 처음부터 정규식과 매치되는지 조사한다. |
---|---|
search() | 문자열 전체를 검색하여 정규식과 매치되는지 조사한다. |
findall() | 정규식과 매치되는 모든 문자열(substring)을 리스트로 리턴한다 |
finditer() | 정규식과 매치되는 모든 문자열(substring)을 iterator 객체로 리턴한다 |
group() | 매치된 문자열을 리턴한다. |
---|---|
start() | 매치된 문자열의 시작 위치를 리턴한다. |
end() | 매치된 문자열의 끝 위치를 리턴한다. |
span() | 매치된 문자열의 (시작, 끝) 에 해당되는 튜플을 리턴한다. |
>>> m = re.match('[a-z]+', "python")
>>> p = re.compile('a.b', re.DOTALL)
>>> m = p.match('a\nb')
>>> print(m) <_sre.SRE_Match object at 0x01FCF3D8>
>>> p = re.compile('[a-z]', re.I)
>>> p.match('python')
<_sre.SRE_Match object at 0x01FCFA30>
>>> p.match('Python')
<_sre.SRE_Match object at 0x01FCFA68>
>>> p.match('PYTHON')
<_sre.SRE_Match object at 0x01FCF9F8>
import re
p = re.compile("^python\s\w+", re.MULTILINE)
data = """python one
life is too short
python two
you need python
python three"""
print(p.findall(data))
['python one', 'python two', 'python three']
>>> p = re.compile(r"(\w+)\s+((\d+)[-]\d+[-]\d+)")
>>> m = p.search("park 010-1234-1234")
>>> print(m.group(3))
010
>>> p = re.compile(r"(\w+)\s+((\d+)[-]\d+[-]\d+)")
>>> m = p.search("park 010-1234-1234")
>>> print(m.group(3))
010
>>> p = re.compile(r"(?P<name>\w+)\s+((\d+)[-]\d+[-]\d+)")
>>> m = p.search("park 010-1234-1234")
>>> print(m.group("name"))
park
>>> p = re.compile('(blue|white|red)')
>>> p.sub('colour', 'blue socks and red shoes')
'colour socks and colour shoes'