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

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

2012-11-21 16:42 369 查看
正则表达式在用户注册和登录中应用很广,通过正则表达式可以判断用户输入的数据正确与否。在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自带的正则表达式的类可以达到过滤和筛选字符串的功能。

转自:http://blog.163.com/nijino_saki/blog/static/80092144201243111508284/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: