利用正则表达式解析URL

- (NSString *)analyticWithURLStr:(NSString *)urlStr param:(NSString *)param
{
    NSError *error;
    NSString *regTags = [[NSString alloc] initWithFormat:@"(^|&|\\?)+%@=+([^&]*)(&|$)", param];
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:&error];
    
    // 执行匹配的过程
    NSArray *matches = [regex matchesInString:urlStr
                                      options:0
                                        range:NSMakeRange(0, [urlStr length])];
    for (NSTextCheckingResult *match in matches) {
        NSString *tagValue = [urlStr substringWithRange:[match rangeAtIndex:2]];  // 分组2所对应的串
        return tagValue;
    }
    return @"";
}

其中,param是参数名 ,urlStr是被解析的url。

你可能感兴趣的:(利用正则表达式解析URL)