初始化一个 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 是每个和表达式匹配好的字符串。
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);
本文介绍如何使用Objective-C中的NSRegularExpression进行URL匹配。通过创建正则表达式对象并利用其方法来查找、计数及替换字符串中符合特定模式的所有URL。

149

被折叠的 条评论
为什么被折叠?



