Under the Bridge

Library: RegexKit

Here’s another useful package to stick in your iPhone programming toolbox: the RegExKitLite framework, which wraps the PCRE library in a vast array of Cocoa-oriented conveniences:

RegexKit is an Objective-C framework for regular expressions:

  • Support for Mac OS X Cocoa and GNUstep. Mac OS X 10.4 or later required.
  • Mac OS X Universal Binary, including 64-bit support on Mac OS X 10.5.
  • No sub-classing required. Seamlessly adds regular expression support to all NSArray, NSData, NSDictionary, NSSet, and NSString Foundationobjects with a rich set of Objective-C category additions.
  • Unicode enabled. Full Unicode support for NSString objects.
  • Extensive, high quality documentation.
  • Full source code with a BSD license.
  • Uses the BSD licensed PCRE Perl Compatible Regular Expressions library for the regular expression engine.

Tuned for high performance, including such features as:

  • Caches the compiled form of the regular expression for speed.
  • Multithreading safe, including multiple reader, single writer multithreaded access to the compiled regular expression cache.
  • Makes minimal use of heap storage (ie, malloc() and free()), instead allocating most temporary buffer needs dynamically from the stack.
  • Uses Core Foundation directly on Mac OS X for additional speed.

Includes support for Mac OS X 10.5 Leopard:

  • 64 bit support. Pre-built for ppc, ppc64, i386, and x86_64.
  • Garbage Collection enabled. Complete support for Leopards Garbage Collection feature.
  • Integrated Xcode 3.0 documentation. Get real time API information via the Research Assistant.
  • Collection of instruments for Instruments.app.

Everything you need to support regular expression programming goodness!

And if you’re not so familiar with this whole regular expression thing, we’d like to ever so subtly draw your attention to the general programming resources page of the Under The Bridge Store, where you can find the classic O’Reilly Mastering Regular Expressions, which should be on the bookshelf of every serious programmer of every platform out there, not just the Mac/iPhone world!

h/t: iphonesdk!

2