美文网首页
iOS-正则表达式使用

iOS-正则表达式使用

作者: lancely | 来源:发表于2016-04-19 10:46 被阅读211次

    正则表达式与NSPredicate连用

    - (BOOL)validateNumber:(NSString *)textString {
        NSString *number = @"^[0-9]+$";
        NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number];
        return [numberPre evaluateWithObject:textString];
    }
    

    正则表达式类

    NSString *searchText = @"you want to match";    
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]+$" options:NSRegularExpressionCaseInsensitive error:&error];
    NSTextCheckingResult *result = [regex firstMatchInString:searchText options:0 range:NSMakeRange(0, [searchText length])];
    if (result) {
        NSLog(@"%@", [searchText substringWithRange:result.range]);
    }
    

    分组的使用

    NSString *text = @"我是lancely";
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^我是(.*?)$" options:kNilOptions error:nil];
    NSArray<NSTextCheckingResult *> *matches = [regex matchesInString:text options:kNilOptions range:NSMakeRange(0, text.length)];
    if (matches.count) {
        NSRange regexGroupRange = [matches.firstObject rangeAtIndex:1];
        NSString *name = [text substringWithRange:regexGroupRange];
        NSLog(@"名字是:%@", name);
    }
    

    相关资料

    常用正则表达式

    相关文章

      网友评论

          本文标题:iOS-正则表达式使用

          本文链接:https://www.haomeiwen.com/subject/kuoalttx.html