「iOS」中3种正则表达式的使用与比较
来源:互联网 发布:php 定义json数组 编辑:程序博客网 时间:2024/05/23 12:25
iOS中有三种方式来实现正则表达式的匹配。现在将他们都记录在这里:
1.利用NSPredicate(谓词)匹配
例如匹配有效邮箱:
NSString *email = @"admin@ruanman.net";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.";NSRangerange = [searchText rangeOfString:@"(?:[^,])*\\."options:NSRegularExpressionSearch];if(range.location! = NSNotFound) { NSLog(@"%@", [searchText substringWithRange:range]);}
options中设定NSRegularExpressionSearch就是表示利用正则表达式匹配,会返回第一个匹配结果的位置。
3.使用正则表达式类
使用系统的正则表达式类(NSRegularExpression)会返回匹配的多个结果。
NSString*searchText = @"// Do any additional setup after loading the view, typically from a nib.";NSError*error = NULL;NSRegularExpression*regex = [NSRegularExpressionregularExpressionWithPattern:@"(?:[^,])*\\."options:NSRegularExpressionCaseInsensitiveerror:&error];NSTextCheckingResult*result= [regex firstMatchInString:searchText options:0range:NSMakeRange(0, [searchText length])];if(result) { NSLog(@"%@\n", [searchText substringWithRange:result.range]);}
阅读全文
0 0
- 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正则表达式的使用
- 关于Xcode的Other Linker Flags
- Xcode中蓝色文件夹和黄色文件夹的区别
- 「iOS」如何在一个工程里引用其他工程
- 苹果Mac终端快捷键大全
- 使用自定义标签防止表单重复提交
- 「iOS」中3种正则表达式的使用与比较
- 「iOS」 7 8 9 10 view被导航条遮挡的解决方法
- 「iOS逆向工程」「iOS安全」必看书单(更新中...)
- Xcode8 无法使用第三方插件解决方案
- Win10打开休眠模式
- 「Swift」- AnyObject、Any、AnyClass的区别
- Struts2获取参数的三种方式
- 「iOS」synchronized关键字的含义和用法
- 人脸识别方向论文笔记(3)-- Sparsifying Neural Network Connections for Face Recognition