正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较
发布时间:2016-11-28 21:04:35 所属栏目:大数据 来源:站长网
导读:正则表达式在ios中应用 一、什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂
例如匹配有效邮箱: NSString *email = @“nijino_saki@163.com”; NSString *regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL isValid = [predicate evaluateWithObject:email]; 谓词匹配比较灵活,但是需要有谓词的相关知识。 2.利用rangeOfString:option:直接查找 NSString *searchText = @"// Do any additional setup after loading the view, typically from a nib."; NSRange range = [searchText rangeOfString:@"(#63;:[^,])*." options:NSRegularExpressionSearch]; if (range.location != NSNotFound) { NSLog(@"%@", [searchText substringWithRange:range]); } options中设定NSRegularExpressionSearch就是表示利用正则表达式匹配,会返回第一个匹配结果的位置。 3.使用正则表达式类 NSString *searchText = @"// Do any additional setup after loading the view, typically from a nib."; NSError *error = NULL; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(#63;:[^,])*." options:NSRegularExpressionCaseInsensitive error:error]; NSTextCheckingResult *result = [regex firstMatchInString:searchText options:0 range:NSMakeRange(0, [searchText length])]; if (result) { NSLog(@"%@n", [searchText substringWithRange:result.range]); } 使用系统的正则表达式类(NSRegularExpression)会返回匹配的多个结果。 以上内容就是本文的全部内容,希望大家喜欢。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |