url正则匹配键值对

NSString *urlStr = [NSString stringWithFormat:@"%@://para1=value1¶2=value2", @"thirdParty"];
    NSString *hString = [self paramValueOfUrl:urlStr withParam:@"para2"];
//以url形式的字符串中获取某一个值
- (NSString *)paramValueOfUrl:(NSString *)url withParam:(NSString *)param
{
    
    NSError *error;
    NSString *regTags=[[NSString alloc] initWithFormat:@"(^||\\?)+%@=+([^&]*)(&|$)",param];
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:&error];
    
    // 执行匹配的过程
    NSArray *matches = [regex matchesInString:url
                                      options:0
                                        range:NSMakeRange(0, [url length])];
    for (NSTextCheckingResult *match in matches) {
        NSString *tagValue = [url substringWithRange:[match rangeAtIndex:2]];  // 分组2所对应的串
        return tagValue;
    }
    return nil;
}

你可能感兴趣的:(url正则匹配键值对)