正则表达式(匹配的时候使用)

 

 

^写在[]外面表示是以什么开头,^写在[]里面表示这个的反意思。$表示结尾。(HM补充里有正则表达式的库

[3578]表示或3,或5,或7,或8。\\d表示数字。{9}表示9位数。\\d*(0~N)个

\\s是空格,^\\s不是空格

  match(@"17977775555", @"^1[3578]\\d{9}$");

void match(NSString *str, NSString *pattern)

{

    // 创建正则表达式对象(创建匹配规则)

    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];

    

    // 尝试匹配

    NSArray *results = [regex matchesInString:str options:NSMatchingReportCompletion range:NSMakeRange(0, str.length)];

    if (results.count == 0)

    {

        NSLog(@"匹配失败");

    } else

    { // 匹配成功

        NSLog(@"匹配成功");

        for (NSTextCheckingResult *result in results)

        {

            NSString *range = NSStringFromRange(result.range);

            NSLog(@"%@ %@", range, [str substringWithRange:result.range]);

        }

    }

}

posted @ 2015-10-16 11:36  知至  阅读(206)  评论(0编辑  收藏  举报