正则表达式30分钟入门教程
来源:互联网 发布:胸卡制作软件生成器 编辑:程序博客网 时间:2024/05/16 15:03
《传送门》
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);}}
iOS中3种正则表达式的使用与比较
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]);
}
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- 正则表达式30分钟入门教程
- [Leetcode题解]001 Two Sum
- 网络优化经历
- Eclipse 实用快捷键
- iOS开发工具-网络封包分析工具Charles
- 联合结构体的大小
- 正则表达式30分钟入门教程
- SVN服务器搭建
- 用 requirejs 的 R.js 打包css + js
- R cannot be resolved to a variable
- delphi tcombobox 光标 输入
- Delphi2010如何获取程序内部自身版本号?
- oracle 内置函数
- C++运行时错误集
- Objective-c 代理模式(delegate)