iOS中3种正则表达式的使用与比较
来源:互联网 发布:淘宝优惠劵群怎么赚钱 编辑:程序博客网 时间:2024/06/09 14:53
原文地址:http://blog.163.com/nijino_saki/blog/static/80092144201347101658511/
之前我在博文中介绍过iOS中自带正则表达式的使用(传送门),后来我发现其实iOS中有三种方式来实现正则表达式的匹配。现在将他们都记录在这里:
NSString *regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isValid = [predicateevaluateWithObject:email];
谓词匹配比较灵活,但是需要有谓词的相关知识。
2.利用rangeOfString:option:直接查找
NSString *searchText = @"// Do any additional setup after loading the view, typically from a nib.";
NSRange range = [searchText rangeOfString:@"(?:[^,])*\\." 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:@"(?:[^,])*\\." options:NSRegularExpressionCaseInsensitive error:&error];
NSTextCheckingResult *result = [regex firstMatchInString:searchText options:0 range:NSMakeRange(0, [searchText length])];
if (result) {
NSLog(@"%@\n", [searchText substringWithRange:result.range]);
}
- iOS中3种正则表达式的使用与比较
- iOS中3种正则表达式的使用与比较
- iOS中3种正则表达式的使用与比较
- iOS中3种正则表达式的使用与比较
- iOS中3种正则表达式的使用与比较
- [正则表达式]iOS中3种正则表达式的使用与比较
- iOS中3种正则表达式的使用与比较[转]
- 「iOS」中3种正则表达式的使用与比较
- 正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较
- 正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较
- iOS中正则表达式的使用与了解
- [iOS]iOS 中正则表达式的使用
- iOS中正则表达式的使用
- iOS 中正则表达式的使用
- iOS中正则表达式的使用--NSPredicate
- iOS 中正则表达式的使用
- iOS中正则表达式的使用--NSPredicate
- iOS中NSRegularExpression正则表达式的使用
- mysql利用颜表情绕过waf注入
- 升级xcode存在问题,一点点总结
- Deep Learning论文笔记之(七)深度网络高层特征可视化
- 计算机排序算法
- BFS求解迷宫最短路径
- iOS中3种正则表达式的使用与比较
- python 的日志logging模块学习
- Contributor License Agreements : 贡献者许可证协议 介绍
- MSSQL删除表中已有的重复数据,保留一条数据
- Deep Learning论文笔记之(八)Deep Learning最新综述
- 多条件排序解决方案
- c#串口收发数据
- ext2的inode结构
- Oracle ERROR: ORA-12560: TNS: 协议适配器错误