이러한 상황에서 문자열을 처리하고자 ‘약속된 규칙을 사용하여 문자열을 분리하는 기능’인 정규표현식을 개발하여 사용했고, 시간이 지나면서 다양한 기능이 추가되었습니다. 하지만 연식이 오래되었고 기능이 많이 추가되었다는 것은 반대로 말하자면 진입 장벽이 높다는 의미이기도 합니다.
‘이렇게 좋은 기능을 왜 모르고 안 썼을까!’라는 생각으로 정규표현식을 배우고자 했다가 얼마 지나지 않아 형용하기 힘든 심연에 빠지곤 하죠. 도대체 정규표현식이 무엇이길래 그럴까요? 가볍게 예를 들어보겠습니다. 만약 주소록 변수에 다음처럼 이름/전화번호/이메일 데이터를 가지고 있다고 합시다.
search_target = '''
Luke Skywalker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com
'''
여기에서 전화번호를 찾는다면 사용할 정규표현식은 다음과 같습니다.5
0\d{1,2}[ -]?\d{3,4}[ -]?\d{3,4}