본문 바로가기

카테고리 없음

손에 잡히는 정규 표현식을 읽고

가끔 전철안의 수많은 사람, 수많은 여성중에 그렇게 예쁘지도 않은데 이상하게 호감이 가서 계속 그녀를 쳐다본 기억이 있다. 딱히 이유를 찾기는 어려운데 유독 호감이 가고 알고 싶은 것들이 있다.

내가 프로그램 개발을 시작하면서도 이상하게 관심이 가는 기술들이 있었다. 예를들어 나는 윈도우 계열 기술은 안좋아하고 리눅스 계열 기술에 호감과 사랑을 보냈다. 옛날에 정보처리기사 실기시험을 대부분 비주얼 베이직으로 보는데 나는 C언어로 봤다. 전자상거래관리사 시험도 대부분 윈도우-ASP로 보는데 나만 리눅스-PHP로 시험을 치뤘다. 당시 수 많은 수험생 중에 리눅스-PHP로 시험보는 수험생은 나 혼자여서 감독관이 좀 낯설어하고 신기하게 봤던 기억이 있다.

남들은 기본 에디터로 다 울트라 에디트, 에디트 플러스를 다룰때 나는 유독 어렵고 익혀도 익혀도 익숙해지지 않은 vim 연습에 몰두했다. vim에 익숙해지는데 무려 2개월은 투자했던것 같다. 한번 vim에 익숙해지니 편하기도 무척 편했고, 까만 화면에 커서를 이리저리 움직이며 멋지게 편집하니깐 내가 해커가 된듯한 느낌도 받아 뿌듯했다.

그 다음 내가 정복할 편집 기술은 정규식이었다. 정규식은 복잡한 문자열식에 패턴만 발견하면 관련 패턴에 적용되는 문자열을 금새 찾아주는 기술이다. 이 정규식만 익숙해지면 정말이지 편집의 달인이 될것만 같았다. 그래서 정규식을 열심히 공부하고..싶었다.

정규식을 열심히 공부하고 싶었다고 이상하게 말한 이유는 정규식 공부는 마치 수학 공부와도 같아서 손에 잘 잡히지 않았기 때문이다. 일반 문자열에서 패턴을 추출하고 추상화하여 <[hH]([1-6])>.*?</[hH]\1> 등의 문자열로 추출해야 하는데 수학 억지로 공부하듯 머리에 과부하가 걸리는 느낌이었다.

그래서 정규식을 손놓고 있다가 작년 9월에 다시 유닉스 계열 사이트에서 일하면서 다시한번 정규식 학습에 도전했다. 그때 읽은 책이 바로 '손에 잡히는 정규 표현식' 이란 책이다. 이 책은 두꺼운 번역책 처럼 읽히지도 않은 이론 설명만 늘여놓은 책이 아니라 얇은 두깨에 바로 써먹을 정규식 활용 방법이 깔끔하게 설명되어 있다. 마치 '정규식'이란 복잡한 편집 기술을 '손에 잡히는 정규 표현식 책'이란 정규식으로 간결화, 추상화 했다는 표현이 맞을 정도로 너무도 깔끔하고 간결한 책이다.

이 책을 통해 편집 기술을 완성 vim과 연동하면 정말이지 생활의 달인에 나오는 편집의 달인이 될 수 있을것 같았다. 사실 아직도 서툴지만 이 책이 옆에 있고 내가 이 책의 정규식 기술을 하나씩 실습하여 편집의 달인이 되는 날을 꿈꾼다.

손에 잡히는 정규표현식 - 10점
벤 포터 지음, 김경수 옮김/인사이트

덧글) 정규 표현식 검사기이라고 내가 만든 정규식이 문법이 맞는지 문자열을 잘 걸러내는지 궁금할때 써먹는 프로그램이 있었으면 했는데 마침 좋은 파폭 플러그인이 있습니다. Regular Expressions Tester 강추~! 파이어 폭스 플러그인 검색해보시길 바랍니다.

관련글1) 초보자를 위한 정규 표현식
관련글2) 고수를 위한 고전 에디터 vim