iOS 使用NSRegularExpression解析正则表达式

初始化一个   NSRegularExpression 对象 注:_str是要匹配的字符串

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?" options:NSRegularExpressionCaseInsensitive error:nil];

获得所有匹配了表达式的字符串。

NSArray *array =    nil;

array = [regex matchesInString:_str options:0 range:NSMakeRange(0, [_str length])];
    NSString *str1 = nil;
    for (NSTextCheckingResult* b in array)

{

str1 是每个和表达式匹配好的字符串。


        str1 = [_str substringWithRange:b.range];
        NSLog(@" str 1 is %@",str1);


    }

获得匹配的字符串的个数

NSUInteger numberOfMatches = [regex numberOfMatchesInString:_str options:0 range:NSMakeRange(0, [_str length])];

替换匹配的字符串  $0很重要 $0不行的话 $1依此类推 打印了看结果


NSString *modifiedString = [regex stringByReplacingMatchesInString:_str
                                                               options:0
                                                                 range:NSMakeRange(0, [_str length])
                                                          withTemplate:@"<a href=https://www.linuxidc.com/Linux/2012-08/\"$0\">$0</a>"];
NSLog(@"######## the modified string is %@",modifiedString);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/933b45022e6e608c999c8bc47c867649.html