iOS中系统自带正则表达式的应用
2012-05-31 12:23:43| 分类:
iOS
| 标签:regex
|字号 订阅
正则表达式在用户注册和登录中应用很广,通过正则表达式可以判断用户输入的数据正确与否。在iOS4.0以前开发者一般是通过谓词(NSPredicate)和加入正则表达式的第三方库(如:RegexKitLite)来实现。其实从iOS4.0开始系统已经原生支持了正则表达式的使用,系统通过自有类NSRegularExpression和NSTextCheckingResult来实现正则表达式的创建和筛选。 结合一个例子来说明具体的实现: //组装一个字符串,把里面的网址解析出来 NSString *urlString = @"sfdshttp://www.baidu.com"; NSError *error; //http+:[^\\s]* 这是检测网址的正则表达式 NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http+:[^\\s]*" options:0 error:&error];
if (regex != nil) { NSTextCheckingResult *firstMatch = [regex firstMatchInString:urlString options:0 range:NSMakeRange(0, [urlString length])];
if (firstMatch) { NSRange resultRange = [firstMatch rangeAtIndex:0]; //从urlString中截取数据 NSString *result = [urlString substringWithRange:resultRange]; NSLog(@"%@",result); } }
输出结果为: [1302:403] http://www.baidu.com 可见通过iOS自带的正则表达式的类可以达到过滤和筛选字符串的功能。
|