문제 설명
앞에서 배운 \d+-?\d+-?\d+
정규표현식은 한계가 있습니다. "010 2454 3457"과 같이 공백이 포함된 전화번호를 찾을 수 없지요.
021234567
02-123-4567
010 2454 3457
모든 전화번호를 찾으려면
- "-가 있거나 없다"는 조건이 아니라
- "- 또는 공백이 있거나 없다"는 조건을 써야 합니다.
-
또는 (공백)이 있거나 없다는 조건은
[- ]?
로 표현할 수 있습니다.
빈칸에 \d+[- ]?\d+[- ]?\d+
를 입력하고 [실행]해 보세요. Output으로 search_target에 들은 모든 전화번호가 한 줄씩 나올 겁니다.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1
2
3
4
5
6
7
8
9
10
regex = r''
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
#아래 부분은 본 강의에서 다루지 않습니다.
import re
result=re.findall(regex,search_target)
print(result)
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.