Как определить адреса электронной почты в произвольных строках

используя следующий код, чтобы обнаружить письмо в строке. Он отлично работает, за исключением работы с электронной почтой, имеющей чистый префикс номера, такой как "[email protected]», Можно ли побороть эту ошибку яблока? Любая помощь будет оценена!

NSString *string = @"[email protected]";
NSError *error = NULL;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:&error];
NSArray *matches = [detector matchesInString:string
                                     options:0
                                       range:NSMakeRange(0, [string length])];    
for (NSTextCheckingResult *match in matches) {
    if ([match.URL.scheme isEqualToString:@"mailto"]) {
        NSString *email = [match.URL.absoluteString substringFromIndex:match.URL.scheme.length + 1];
        NSLog(@"email :%@",email);

    }else{
        NSLog(@"[match URL] :%@",[match URL]);
    }

}

редактировать: результат лога: [соответствует URL]:http://gmail.com

Ответы на вопрос(1)

Ваш ответ на вопрос