博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS: 正则表达式
阅读量:7170 次
发布时间:2019-06-29

本文共 1379 字,大约阅读时间需要 4 分钟。

  OS中一共有3种方式进行正则表达式的匹配NSPredicate、NSRegularExpression、NSString

  一、使用NSPredicate

void useNSPredicate(){    NSString *phoneNO = @"13182428488";    NSString *regex = @"^1[3|4|5|7|8]\\d{9}$";        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];    BOOL isValid = [predicate evaluateWithObject:phoneNO];    NSLog(@"%s %d", __FUNCTION__ ,isValid);}

  二、使用原生NSRegularExpression

void useNSRegularExpression(){    NSString *phoneNO = @"13182428488";    NSError *error = NULL;    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^1[3|4|5|7|8]\\d{9}$" options:NSRegularExpressionCaseInsensitive error:&error];    NSTextCheckingResult *result = [regex firstMatchInString:phoneNO options:0 range:NSMakeRange(0, [phoneNO length])];    if (result) {        NSRange resultRange = [result rangeAtIndex:0];        //从urlString中截取数据        NSString *stringResult = [phoneNO substringWithRange:resultRange];                NSLog(@"%s %@\n", __FUNCTION__, stringResult);    }}

  三、使用NSString

void useNSString(){    NSString *phoneNO = @"13182428488";    NSRange range = [phoneNO rangeOfString:@"^1[3|4|5|7|8]\\d{9}$" options:NSRegularExpressionSearch];    if (range.location != NSNotFound) {        NSLog(@"%s %@\n", __FUNCTION__, [phoneNO substringWithRange:range]);    }}

 

转载于:https://www.cnblogs.com/pretty-guy/p/4259382.html

你可能感兴趣的文章
针对vue的配置文件
查看>>
yum 源
查看>>
tcpdump详解
查看>>
android自动化测试工具之DroidPilot
查看>>
winfrom 界面编辑之疑难杂症
查看>>
pdo知识点1
查看>>
导出函数与未导出函数
查看>>
Elasticsearch Java Client连接池
查看>>
(一)ASP.NET中JavaScript的中英文(多语言)实现方案
查看>>
如何构建ASP.NET MVC4&JQuery&AJax&JSon示例
查看>>
最大数——栈
查看>>
Error: Divergence detected in AMG solver: k
查看>>
Spring学习系列(一) Spring简介
查看>>
Windows绘图和GDI+疑难
查看>>
C#字符串的方法
查看>>
ubuntu搜狗拼音安装
查看>>
小牢骚
查看>>
redis 五种数据结构详解(string,list,set,zset,hash)
查看>>
烤鸡翅
查看>>
XSS(跨站脚本攻击)
查看>>