문제 설명
알림: 강의의 대부분은 파이썬을 기반으로 진행됩니다. 허나 파이썬을 모르더라도 정규표현식을 배우는 데는 문제가 없습니다. 다른 프로그래밍 언어에서 정규표현식을 사용하는 방법은 강의 후반, '프로그래밍 언어별 정규표현식` 파트에서 다룹니다.
정규표현식은 문자열에서 특정 패턴을 만족하는 부분을 찾아낼 때 사용합니다. 예를 들어 볼까요? 스타워즈 주인공들의 주소록에서 전화번호를 찾아봅시다. 주소록은 코드 5번째 줄 search_target 변수에 적어두었습니다.
- 사람 이름
- 전화번호
- 이메일
이 적힌 주소록에서, 전화번호만 찾는 정규표현식은 다음과 같습니다.
0\d{1,2}[ -]?\d{3,4}[ -]?\d{3,4}
1
빈칸에 이 정규표현식을 적어 [실행] 버튼을 눌러보세요.
출력을 확인해 보면, search_target에 들어있는 모든 전화번호를 찾아내서 한 줄씩 출력하는 걸 알 수 있습니다.
-
아직은 정규표현식이 외계어로 보이는 게 당연합니다. 한 단계씩 따라가면서 이 문장이 무슨 뜻인지 배워봅시다. ↩
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
# 전화번호를 찾는 정규표현식 0\d{1,2}[ -]?\d{3,4}[ -]?\d{3,4}를 빈칸에 입력하세요.
regex = r''
# 주소록입니다. 이후 강의에서 모두 이 search_target을 사용합니다.
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("\n".join(result))
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.