ios 使用NSRegularExpression解析正则表达式(TextKit中用到)

初始化一个   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=\"$0\">$0</a>"];

    NSLog(@"######## the modified string is %@",modifiedString);

转自:http://blog.csdn.net/paul_wuhaha/article/details/7406778

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值