美文网首页
[iOS]正则匹配捕获组

[iOS]正则匹配捕获组

作者: 雨影 | 来源:发表于2019-03-07 15:53 被阅读5次

   
    NSString *searchText = @" @+861345678888-昵称 大富翁收到";
    NSString *regexStr = @" @(\\+\\d+)-(.*) ";
    
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:&error];
    
    NSArray *matches = [regex matchesInString:searchText
                                      options:0
                                        range:NSMakeRange(0, [searchText length])];
    
    if (matches.count>0) {
        
        //此方法只能获取一个整体的正则匹配
        for (NSTextCheckingResult *match in matches) {
            NSRange matchRange = [match range];
            NSString *matchString = [searchText substringWithRange:matchRange];
            NSLog(@"%@", matchString);
        }
        
        //捕获组用以下方法
        NSRange matchRange = [[matches firstObject] rangeAtIndex:1];
        NSString *matchString = [searchText substringWithRange:matchRange];
        NSLog(@"%@", matchString);
        
        NSRange matchRange2 = [[matches firstObject] rangeAtIndex:2];
        NSString *matchString2 = [searchText substringWithRange:matchRange2];
        NSLog(@"%@", matchString2);
    }
   
    
    
    /*
     
     2019-03-07 15:49:59.505905+0800 Demo[27094:6786924]  @+861345678888-昵称
     2019-03-07 15:49:59.506050+0800 Demo[27094:6786924] +861345678888
     2019-03-07 15:49:59.506173+0800 Demo[27094:6786924] 昵称
     
     */

相关文章

  • [iOS]正则匹配捕获组

  • JS正则表达式的骚操作

    参考资料 《JS正则表达式的分组匹配》《正则表达式之捕获组/非捕获组介绍》《正则表达式中(?:pattern)、(...

  • java正则使用

    正则切割 正则捕获 正则完全匹配

  • 正则表达式的捕获组和非捕获组

    如果使用正则表达式的findall操作,在正则匹配规则中如果使用了捕获组,则并不会返回全组结果,而只是返回捕获组的...

  • 正则-分组捕获实例分析

    在正则捕获的时候,我们添加分组,不仅仅可以把大正则匹配的内容捕获,而且还可以把小分组代表的子正则匹配的内容一起捕获...

  • 正则:分组

    正则分组作用: 1、改变优先级:2、分组引用 3、分组捕获:正则在捕获的时候,不仅把大正则匹配的内容捕获到,而且还...

  • 深入分析JMeter正则表达式提取器(二)

    正则表达式提取器中的Match No 当正则表达式的捕获组匹配到多个满足条件的字符串时,会按照捕获的先后顺序依次对...

  • 正则的捕获

    exec: 正则捕获每一次捕获的时候,都是先进行默认的匹配,如果没有匹配成功的,捕获的结果是null;只有有匹配的...

  • 正则-捕获及其特性

    正则捕获 ->exec每一次捕获的时候都是先进行默认的匹配,如果没有匹配成功的,捕获的结果是null;只有匹配的内...

  • 正则表达式之捕获组

    1、概述 1.1什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,...

网友评论

      本文标题:[iOS]正则匹配捕获组

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