p = re.compile('패턴')
m = p.match('패턴을 찾고자하는 문자열')
import re
p = re.compile('패턴')
m = p.match('문자열')
컴파일된 패턴 객체는 4가지 메소드를 제공한다.
--> match(), search(), findall(), finditer()
import re
p = re.compile('[a-z]+') # +붙이는거 이해해야 한다.
m = p.match("1 python")
print(m) # None
👉 문자열 "1 python" 의 처음 문자 1 이 [a-z] 에 포함되지 않아 None 을 출력한다.
import re
p = re.compile('[a-z]+')
m = p.search("1 python")
print(m) # <re.Match object; span=(2, 8), match='python'>
👉 search는 문자열의 처음부터 검색하지 않고 문자열 전체를 검색한다.
import re
p = re.compile('[a-z]+')
string = p.findall("hello world")
print(string) # ['hello', 'world']
👉 입력한 문자열을 정규표현식과 매치하여 리스트로 반환해 준다.
import re
p = re.compile('[a-z]+')
string = p.finditer("hello world")
print(string) # <callable_iterator object at 0x7fe150a74e80>
for r in string: print(r)
#<re.Match object; span=(0, 5), match='hello'>
#<re.Match object; span=(6, 11), match='world'>
👉 findall과 동일한 동작을 수행한다. 다만, 반복 가능한 객체(iterator object)를 결과값으로 반환한다. 반환된 객체 내부의 요소들은 match 객체이다.