CPRegularExpression
From iPhone Development Wiki
CPRegularExpression is a wrapper around the POSIX regex.h library. Example use:
NSString* test = [NSString stringWithContentsOfFile:@"TestFile.txt"]; CPRegularExpression* re = [CPRegularExpression regularExpressionWithString:@"([-_[:alpha:]]+)=['\"]?([^'\">[:blank:]]*)['\"]?"]; NSRange curRange = NSMakeRange(0, [test length]); NSUInteger subexprCount = [re numberOfSubexpressions]; NSRange subexprs[subexprCount]; while (1) { NSRange newRange = [re matchedRangeForString:test range:curRange subexpressionRanges:subexprs count:subexprCount]; if (newRange.location == NSNotFound) break; else { NSLog(@"%@ -> %@", [test substringWithRange:subexprs[0]], [test substringWithRange:subexprs[1]]); // Changing the range alone is buggy. test = [test substringFromIndex:newRange.location + newRange.length]; curRange.length = [test length]; } }