IOS 正则表达式的坑
2015-12-04 10:14
519 查看
测试方法:
//正则表达式校验
-(BOOL)calibrateWithRegex:(NSString *)regex
value:(NSString *)value {
BOOL valide=NO;
NSError *error =NULL;
NSRegularExpression *regularExp=[NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];
//匹配结果为数组
NSArray *resultArray=[regularExp matchesInString:value options:NSMatchingReportProgress range:NSMakeRange(0,
value.length)];
NSLog(@"结果大小:%d",[resultArray count]);
for (NSTextCheckingResult *mystrRang in resultArray)
{
NSString *mystr=[value substringWithRange:mystrRang.range];
NSLog(@"校验结果为:%@",mystr);
}
//获取第一个匹配结果
NSTextCheckingResult *result=[regularExp firstMatchInString:value options:0 range:NSMakeRange(0,
value.length)];
NSString *resultStr=[value substringWithRange:result.range];
// NSLog(@"校验结果为:%@",resultStr);
if ([resultStr isEqualToString:value])
{
valide=YES;
}
return valide;
}
1.单斜杆(\)记得转为双斜杆(\\)
2.ios正则表达式无法在断言里面使用限定符:
红色标注为不能使用的部分,
列如:(查找html标签)
错误的写法:(?<=<(\\w+)>)[^<]*(?=</\\1>)
正确的写法:(?<=<(\\w{0,6})>)[^<]*(?=</\\1>)
//正则表达式校验
-(BOOL)calibrateWithRegex:(NSString *)regex
value:(NSString *)value {
BOOL valide=NO;
NSError *error =NULL;
NSRegularExpression *regularExp=[NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];
//匹配结果为数组
NSArray *resultArray=[regularExp matchesInString:value options:NSMatchingReportProgress range:NSMakeRange(0,
value.length)];
NSLog(@"结果大小:%d",[resultArray count]);
for (NSTextCheckingResult *mystrRang in resultArray)
{
NSString *mystr=[value substringWithRange:mystrRang.range];
NSLog(@"校验结果为:%@",mystr);
}
//获取第一个匹配结果
NSTextCheckingResult *result=[regularExp firstMatchInString:value options:0 range:NSMakeRange(0,
value.length)];
NSString *resultStr=[value substringWithRange:result.range];
// NSLog(@"校验结果为:%@",resultStr);
if ([resultStr isEqualToString:value])
{
valide=YES;
}
return valide;
}
1.单斜杆(\)记得转为双斜杆(\\)
2.ios正则表达式无法在断言里面使用限定符:
红色标注为不能使用的部分,
列如:(查找html标签)
错误的写法:(?<=<(\\w+)>)[^<]*(?=</\\1>)
正确的写法:(?<=<(\\w{0,6})>)[^<]*(?=</\\1>)
相关文章推荐
- iOS_笔记
- iOS push 横屏
- IOS学习之 CoreFoundation框架
- iOS中如何更改状态栏的字体颜色(白色、黑色字体)
- iOS 添加阴影后 屏幕卡顿 抖动
- IOS集成到支付宝的步骤及问题
- iOS 9下 tableView cell 显示不正常 问题
- iOS9 crash问题(talkingData)
- iOS 苹果官方Demo
- iOS中邮箱-电话号码-身份证号码等的验证代码
- iOS开发——CF前缀
- iOS开发动画(Animation)总结
- 如何在原生工程中引入Cordova工程
- 27个iOS开发中的小技巧
- iOS之lipo
- iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
- IOS 之CrashLog 错误日志
- ios各屏幕分辨率和像素
- IOS自动布局之Autoresizing
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解