If you’re programming the iPhone, sooner or later you’ll need regular expressions (regex). By default OS X includes the ICU, an open source Unicode library which has extensive regex capabilities.
The ICU APIs are in C/C++ however, not Objective-C. Fear not, RegexKitLite to the rescue. This small library has done all the hard work of adding regex methods to NSString. RegexKitLite is small, thread-safe, and quite fast. It simply links to ICU — unlike its bigger brother, RegexKit, which must be compiled against PCRE.
RegexKitLite is also easy to use:
#import "RegexKitLite.h" NSString * foo = @"some string to search on"; NSString * regex = @"^(.+?)\s"; NSLog(@"Match: %@", [foo stringByMatching:regex capture:1]);
Then just link with –licucore and that’s it!!
Note: In Xcode I simply added -licucore to the “Other Linker Flags” in my project’s build configuration. Maybe there’s a “better” way of doing this but this method works for me.