문제 설명
앞서 배운 \d{2}[- ]?\d{3}[- ]?\d{4}
정규표현식으로는 전화번호를 찾는데 한계가 있습니다. 전화번호의 첫 부분에 숫자가 3번(010 2454 3457) 나오는 경우를 인식하지 못하지요.
021234567
02-123-4567
010 2454 3457
{숫자1, 숫자2}
는 "숫자1부터 숫자2까지 반복한다"는 뜻입니다. 예를 들어, \w{2,3}
는 "문자가 2 ~ 3번 나온다"는 뜻입니다.
전화번호의 자릿수는 다음과 같습니다. 따라서 전화번호는 \d{2,3}[- ]?\d{3,4}[- ]?\d{4}
와 같이 표현할 수 있습니다.
자리 수 | |
---|---|
처음 | 2 ~ 3자리 |
가운데 | 3 ~ 4자리 |
마지막 | 4자리 |
빈칸에 빈칸에 {}를 입력하고 [실행]해 보세요. Output으로 모든 전화번호가 한 줄씩 나올 겁니다.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1
2
3
4
5
6
7
8
9
10
11
regex = r''
search_target = '''이상한 전화번호 0030589-5-95826
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)
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.