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 @"";
    }

  • 相关阅读:
    Difference Between Arraylist And Vector : Core Java Interview Collection Question
    Man's Best Friend: The Science Behind the Dog and Human Relationship
    我在微软那些事--微软面试
    北美PM活着的攻略
    C#图解教程 第二十一章 命名空间和程序集
    C#图解教程 第二十章 异步编程
    C#图解教程 第十九章 LINQ
    C#图解教程 第十八章 枚举器和迭代器
    C#图解教程 第十七章 泛型
    C#图解教程 第十六章 转换
  • 原文地址:https://www.cnblogs.com/hxwj/p/4609832.html
Copyright © 2011-2022 走看看