您的位置:首页 > 移动开发 > IOS开发

ios 使用NSRegularExpression解析正则表达式

2012-03-29 14:02 183 查看
初始化一个 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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: