목록정규표현식 (3)
동글동글 라이프
얼마전 친한 동생이 웹페이지로부터 특정 정보를 가져오는 소스에 대해서 블로그에 적은적이 있습니다. 간단히 말하면, 네이버에서 극장을 입력하면, 그 극장에서 상영되는 제목과 시간들을 파싱해서 나열하는 코드였는데, 정규표현식 없이 온리 C언어(소켓까지 포함)로 약 300줄 가량 되는것을 확인하였습니다. 그래서 이런 예도 있다는걸 보여줄 겸, perl 로 한번 다시 짜보게 되었습니다. Windows Vim 으로 작업했고 소스는 아래와 같습니다. 총 14줄 :) 파싱이 잘 되는 것을 확인 할 수 있습니다 :) 보여주려고 짜 뒀다가 이제야 포스팅 하네요~ perl 가르쳐달라고 하는 동생의 모습이 눈에 선합니다 ^^;; P.S. C언어로 짜는게 나쁘다는것은 아닙니다. 소켓으로 웹페이지에 접근함으로, 헤더에 어떤값이..
얼마전 해커쏜에 참여하여 간단한 프로그램을 하나 만들었다. 그 당시 a3r0님께 많은 도움을 받아서 그것을 바로 흡수!! 타자 및 투수의 정보까지 처리하는 루틴까지 만들었던 기억이 난다. 소개하자면 일명 Baseball::KBO 한국야구위원회(http://www.koreabaseball.com/ )를 참고하여 만들어 졌으며 이 사이트의 정보들을 LWP::Simple 모듈을 이용하여 웹에서 해당 정보들을 얻어온 뒤 정규식을 이용해서 원하는 정보들을 찾아 저장하는 형식으로 코드를 작성하였다. 그 뒤 GTK문서를 보고 적당한 예제가 하나 있어 그 예제를 참고하여 GUI모드로 구현을 해보았다. 소스는 허접하지만... 누군가 더 나은 코드를 코멘트로 적어 줄까 싶어 공개한다. 블로그를 시작한지 글을 8건이나 썼는..
perl 쿡북에 있는 예제중 뼈가대고 살이되는 것들을 골라내어 정리해보았다. 1. 정규표현식을 사용하여 통해서 3번째 값을 찾는 코드이다. if문을 적절하게 사용하였고 /g 변경자를 사용하여 전체 매치를 시켜 3번째 값을 찾아냈다. 1 2 3 4 5 6 7 8 9 use strict; $_ = "one fish two fish red fish blue fish"; my $WANT = 3; my $count = 0; while(/(\w+)\s+fish\b/gi){ if(++$count ==$WANT){ print "The Third fish is a $1 one."; } } Output: 1 The Third fish is a red one. 2. 일치한 문자중 짝수번째 fish를 찾아낸다. grep은 매..