Apple включена NSDataDetector в 10.7.
Помимо URL-адресов, телефонных номеров и т. Д. Также поддерживается определение даты (NSTextCheckingTypeDate).(Похоже, что Mail.app широко использует эти детекторы)
В этом примере обнаруживаются все даты в «строке» и регистрируются совпадения (если есть) местоположения и длины:
NSError* error = NULL;
NSDataDetector* detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeDate error:&error];
NSArray* matches = [detector matchesInString:string options:0 range:NSMakeRange(0, [string length])];
for (NSTextCheckingResult* match in matches)
{
NSRange matchRange = [match range];
NSLog(@"Match at position:%lu with length:%lu", matchRange.location, matchRange.length);
}