zoukankan      html  css  js  c++  java
  • 利用正则表达式解析URL


    -(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress
    {
         NSError *error;
         NSString *regTags=[[NSString alloc] initWithFormat:@"(^|&|\?)+%@=+([^&]*)(&|$)",CS];
        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
                                                                              options:NSRegularExpressionCaseInsensitive
                                                                                error:&error];
        
        // 执行匹配的过程
       
    // NSString *webaddress=@"http://wgpc.wzsafety.gov.cn/dd/adb.htm?adc=e12&xx=lkw&dalsjd=12";
        NSArray *matches = [regex matchesInString:webaddress
                                          options:0
                                            range:NSMakeRange(0, [webaddress length])];
        for (NSTextCheckingResult *match in matches) {
            //NSRange matchRange = [match range];
            
    //NSString *tagString = [webaddress substringWithRange:matchRange];  // 整个匹配串
    //        NSRange r1 = [match rangeAtIndex:1];
    //        if (!NSEqualRanges(r1, NSMakeRange(NSNotFound, 0))) {    // 由时分组1可能没有找到相应的匹配,用这种办法来判断
    //            //NSString *tagName = [webaddress substringWithRange:r1];  // 分组1所对应的串
    //            return @"";
    //        }
            
            NSString *tagValue = [webaddress substringWithRange:[match rangeAtIndex:2]];  // 分组2所对应的串
            
    //    NSLog(@"分组2所对应的串:%@ ",tagValue);
            return tagValue;
        }
        return @"";
    }

  • 相关阅读:
    Inter IPP & Opencv + codeblocks 在centos 环境下的配置
    Inter IPP 绘图 ippi/ipps
    Inter IPP+ VS + opencv 在 Windows下的环境搭建
    15省赛题回顾
    Blocks(POJ 3734 矩阵快速幂)
    Tr A(HDU 1575 快速矩阵幂模板)
    本原串(HDU 2197 快速幂)
    Python正则表达式指南
    ACboy needs your help(HDU 1712 分组背包入门)
    滑雪(POJ 1088 记忆化搜索)
  • 原文地址:https://www.cnblogs.com/hxwj/p/4609832.html
Copyright © 2011-2022 走看看