用于各种日期格式的正则表达式iOS

Nei*_*ner 2 regex date ios nsregularexpression

我正在努力绕过一些正则表达式以匹配某些日期格式.理想情况下,我希望一个表达式与每种日期格式匹配,我正在搜索电子邮件中的所有日期.

格式如:

Wednesday, 6 November 2013
Weds 6th November 2013
Weds 6th Nov 2013

06/11/2013
11/06/2013
06/11/13
11/06/13

6th Nov 2013
6th November 2013
Run Code Online (Sandbox Code Playgroud)

有人知道我可以使用的一个表达式吗?

Nei*_*ner 5

感谢Wain的回答我使用此代码而不是NSRegularExpression来查找字符串中的日期,希望它可以帮助任何有类似问题的人.

NSError *error = NULL;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:(NSTextCheckingTypes)NSTextCheckingTypeDate error:&error];

NSArray *matches = [detector matchesInString:string
                                     options:0
                                       range:NSMakeRange(0, [string length])];

for (NSTextCheckingResult *match in matches) {

    if ([match resultType] == NSTextCheckingTypeDate) {

        NSDate *date = [match date];

        NSDateFormatter *formatter;
        NSString        *dateString;

        formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"dd-MM-yyyy HH:mm"];

        dateString = [formatter stringFromDate:date];
        NSLog(@"Date: %@",dateString);

    }}
Run Code Online (Sandbox Code Playgroud)