iOS中系统自带正则表达式的应用
2012-10-17 19:27
357 查看
正则表达式在用户注册和登录中应用很广,通过正则表达式可以判断用户输入的数据正确与否。在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自带的正则表达式的类可以达到过滤和筛选字符串的功能。
结合一个例子来说明具体的实现:
//组装一个字符串,把里面的网址解析出来
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自带的正则表达式的类可以达到过滤和筛选字符串的功能。
相关文章推荐
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用以及一些常用的正则表达式
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用
- iOS中系统自带正则表达式的应用
- ios系统自带正则表达式的应用
- iOS系统自带正则表达式简单运用
- iOS开发-系统自带的正则表达式
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- NSRegularExpression iOS自带的正则表达式
- iOS 程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS自带的正则表达式
- 正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,AppStore,拨打电话)
- Linux中自带正则表达式应用举例
- iOS开发——正则表达式的应用