#import <objc/objc.h>
#import <objc/Object.h>
#import <Foundation/Foundation.h>
#import <Foundation/NSTextCheckingResult.h>

@implementation TestObj
int main()
{
	NSError *error = nil;
    NSString *pattern = @"(?:Name:\\s+Other\\s+Names\\s*|(?!^)\\G\\s*)Name:\\s+(\\w+)";
    NSString *string = @"Name: Tom\nName: Alex\nName: Karina\nName: Other Names\nName: Josh\nName: Sarah\nName: Mike";
    NSRange range = NSMakeRange(0, string.length);
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
    NSArray *matches = [regex matchesInString:string options:0 range:range];
    for (NSTextCheckingResult* match in matches) {
        NSRange group1 = [match rangeAtIndex:1];
        NSPrint(@"%@", [string substringWithRange:group1]);
    }
	return 0;
}
void NSPrint(NSString *format, ...) {
    va_list args;
    va_start(args, format);
    NSString *string = [[NSString alloc] initWithFormat:format arguments:args];
    va_end(args);
    fprintf(stdout, "%s\n", [string UTF8String]);
    [string release];
}
@end