加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 22:23:49 所属栏目:百科 来源:http://www.jb51.net/tools/zhen
导读:0.Foundation框架提供的正则表达式的实现类 1.正则表达式的开源实现类:RegexKitLite (MRC,在ARC的工程中要对其.m文件的编译设置-fno-objc-arc) 使用这个类,需要导入依赖库:libicucore.dylib 2.入门推荐学习网站: http://www.jb51.net/tools/zhengze.h
0.Foundation框架提供的正则表达式的实现类

1.正则表达式的开源实现类:RegexKitLite (MRC,在ARC的工程中要对其.m文件的编译设置-fno-objc-arc)
使用这个类,需要导入依赖库:libicucore.dylib

2.入门推荐学习网站:http://www.aspzz.cn/tools/zhengze.html点击打开链接

一、Foundation框架提供的正则表达式的实现类


NSString *text = @"张三:010-88669900,李四电话010-55443322发送0731-8373834垃圾费";

//1、定义正则表达式
NSString *regex = @"d{3,4}-d{7,8}";

//2、创建正则表达式实现对象
NSRegularExpression *regexExpre = [[NSRegularExpression alloc] initWithPattern:regex options:NSRegularExpressionCaseInsensitive error:nil];

//3、查找符合正则表达式的子字符串
NSArray *items = [regexExpre matchesInString:text options:NSMatchingReportProgress range:NSMakeRange(0,text.length)];

//4.循环遍历查找出来的结果
for (NSTextCheckingResult *result in items) {
//符合表达式的字符串的范围
NSRange range = [result range];

NSString *matchString = [text substringWithRange:range];
NSLog(@"%@",matchString);
}


二、利用开源类RegexKitLite实现,比较简单
//需求1:找以l开头的单词
NSString *text = @"array love like pig cat l72348";

//NSString *regex = @"blw*b";

NSString *regex = @"bl[a-zA-Z]*b";

NSArray *items = [text componentsMatchedByRegex:regex];

NSLog(@"%@",items);


//需求2:一个网如果需要填写QQ号码(6-11个数字)

NSString *text = @"1231x2455";
NSString *regex = @"^d{6,11}$";

// NSArray *items = [text componentsMatchedByRegex:regex];

// NSLog(@"%@",items);

BOOL isMatched = [text isMatchedByRegex:regex];
if(isMatched) {

NSLog(@"是QQ号");

} else {

NSLog(@"不是QQ号");

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读