분석하는 마케터
Python - 정규표현식 ( * , + , ? , . )
TREBOR
2019. 11. 4. 15:55
정규식에서 각각의 문자의 의미
1. *
: 패턴이 0개 이상 있는지 확인한다. 0개여도 None을 출력하지 않고 ''를 출력함.
# *이 0개 이상 있는지 확인하기. 0개여도 첫번째꺼 뽑아냄
print(re.match('[0]', "12a3bcd")) # None
print(re.match('[0-9]', "12a3bcd")) # <re.Match object; span=(0, 1), match='1'>
print(re.match('[0-9]*', "12a3bcd")) # <re.Match object; span=(0, 2), match='12'>
print(re.match('[0-9]', "a12a3bcd")) # None
print(re.match('[0-9]*', "a12a3bcd")) # <re.Match object; span=(0, 0), match=''>
2. +
: 패턴이 1개 이상 있는지 확인함. 0개일 때는 None을 출력함
print(re.match('[0-9]','123bcd')) # match = '1'
print(re.match('[0-9]+','123bcd')) # match = '123'
print(re.match('[0-9]+','x123bcd')) # None
3. ?
: 문자가 0개 or 1개만 있는지 판단함
4. . (온점)
: 문자가 1개 있는지 판단함
print(re.match('h?','h')) # match = 'h'
print(re.match('h?','hi')) # match = 'h'
print(re.match('h.','h')) # None
print(re.match('h?','hello')) # match = 'h'
print(re.match('h.','hello')) # match = 'he'