본문 바로가기
분석하는 마케터

Python - 정규표현식 ( * , + , ? , . )

by TREBOR 2019. 11. 4.

정규식에서 각각의 문자의 의미

 

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'

댓글