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

iOS中系统自带正则表达式的应用

2014-12-09 21:54 253 查看
正则表达式在用户注册和登录中应用很广,通过正则表达式可以判断用户输入的数据正确与否。在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自带的正则表达式的类可以达到过滤和筛选字符串的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: