cc 캠페인 함께해요!
BLOG main image
분류 전체보기 (113)
프로젝트관리론 (29)
블로고스피어탐색 (33)
리뷰 (28)
세미나 (8)
전산보안론 (5)
소프트웨어공학 (1)
디지털서비스 (7)
디지털네트워크 (1)
아이폰개발 (1)
향천의 생각
hyangchun's me2DAY
오늘도 밤을 세워야 하는 개발자..
: Ray,DAVIDEUNG,PinkPapa의 소..
Windows 7의 정식 명칭이 밝혀졌..
아크몬드의 윈도우 7 블로그
GPS 로그 + 사진 = pholyline.com
nalbam.Blog
무대리와 함께하는 위험관리
Effortless - 上善若水 - 상선약수
우리아들..
Statistics Graph

152,378 Visitors up to today!
Today 11 hit, Yesterday 107 hit
rss
2010/02/04 17:54

요즘 맥북과 아이폰에 빠져서 글이 뜸합니다. ^^
이것저것 해보는 재미가 쏠쏠하네요.
Apps를 사용하는데 그치지 않고 XCode를 이용한 iPhone Apps 개발을 조금씩 해보려구 합니다. 

처음으로 해보고 오늘 정리할 내용은 아이폰 어플 개발에서 정규식(Regular Expression)을 사용하는 방법입니다. 
실제 프로그래밍에서 정규식을 사용해보면 편리함 때문에 계속 쓰게 되는데요.
아이폰 어플 개발에서는 찾기가 쉽지 않더라구요. 

기본적으로 OS X에서 정규식을 지원하기 위해 ICU라는 오픈소스 Unicode 라이브러리가 있습니다. 
그런데 이 ICU API가 C/C++에서는 지원되고 있지만 아직 Object-C에는 포함되어 있지 않습니다. 

다행히도 RegexKitLite라는 써드파티에서 만든 라이브러리를 사용하면 쉽게 정규식을 사용할 수 있습니다. 
위 사이트에 접속해 보면 자세한 설명이 영어로 쭉 나옵니다. (영어는 왠지 시러.. -.-)

실제 파일은 SourceForge에서 다운로드 할 수 있습니다. RegexKitLite 다운로드
RegexKitLite-3.3.tar.bz2라는 파일이 다운로드 되는데요.. 
압축을 풀면 예제와 설명 그리고 소스 파일이 존재합니다. 

RegexKitLite.h와 RegexKitLite.m 이 두 파일을 정규식을 사용하려는 XCode Project에 추가하면 사용할 수 있습니다. 

예제를 살펴보시면 알겠지만 간단하게 다음과 같이 사용할 수 있습니다. 

#impot "RegexKitLite.h"
NSString *foo = @"some string to search on";
NSString *regex = @"^(.+?)\s";
NSLog(@"Match: %@", [foo stringByMatching:regex capture:1]);

위와 같이 사용하면 foo에서 regex 정규식에 맞는 문자열을 찾아서 리턴하게 됩니다. 

이것도 처음에 이야기한 ICU API를 사용하기 때문에 링커로 -licucore를 넣어주셔야 합니다. 
XCode 3.1.2를 기준으로 하면
좌측의 "Groups & Files" > Targets > 프로젝트명" 에서 우클릭 한 다음 "Get Info"를 선택합니다. 
"build" 탭에서 쭉 내려보시면 "Linking > Other Linker Flags"라는 항목이 있습니다. 
여기에 -licucore를 지정해 주면 링커 설정이 완료됩니다. 

생각보다 쉽게 할 수 있도록 구현되어 있네요.. 
그럼 도움이 되었으면 합니다. 



이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

'아이폰개발' 카테고리의 다른 글

아이폰 개발시 문자열에 정규식을 사용하기  (0) 2010/02/04
Trackback Address :: http://blog.acronym.co.kr/trackback/130 관련글 쓰기
Name
Password
Homepage
Secret
prev"" #1 #2 #3 #4 #5 #6 ... #113 next