RTLabel和RegexKitLite都要导入第三方库

使用Regexkitlite库进行正则表达式的解析

1.库是使用MRR,如果在ARC工程里面使用这个类,必须在project->build phases->compile resources里面将regexKitLite.m的编译指令设为:-fno-objc-arc

2.需要添加一个依赖库:libicucore.tbd

1.RTLable 富文本类库  替换成超链接

RTLabel *lable = [[RTLabel alloc]initWithFrame:CGRectMake(10, 100, 300, 0)];

lable.delegate = self;

NSString * string = @"@张三123:正则表达式好学么,@李四:给你一个网站:http://www.baidu.com/image/2323_303.jpg,#学习#,电话号码:(025)-69716261";

lable.text =string;

CGSize size =[lable optimumSize];  //计算尺寸

lable.frame = CGRectMake(10, 100, size.width, size.height);

NSString *regex = @"(@\\w+)|(#\\w+#)|(http(s)?://[0-9a-zA-Z./_]+)"; //正则表达式

NSArray *result = [string componentsMatchedByRegex:regex];

for (NSString * str in result) {

NSString * newKeyword = [NSString stringWithFormat:@"<a href='http://www.baidu.com'>%@</a>",str];

string = [string stringByReplacingOccurrencesOfString:str withString:newKeyword]; //替换文本

}

lable.text = string;

2.正则表达式

NSString * str = @"@张三123:你在哪里呀?@李四:我在这!#在哪里# http://www.baidu.com 电话号码:(025)88888888,025-88888888";

NSString * regex = @"@\\w+";

NSString * regex = @"#\\w+#";

NSString * regex = @"(@\\w+)|(#\\w+#)";

NSString * regex = @"http(s)?://[0-9a-zA-Z./_]+";网址

NSString * regex = @"(\\()?(\\d){3}(\\))?(-)?(\\d){8}";//电话号码

NSArray * result = [str componentsMatchedByRegex:regex];

for (NSString * str in result) {

NSLog(@"%@",str);

}

转载于:https://www.cnblogs.com/damonWq/p/5140340.html

0118——RTLabel和正则表达式相关推荐

  1. RTUILabel+正则表达式

    RTLabel和RegexKitLite都要导入第三方库 使用Regexkitlite库进行正则表达式的解析 1.库是使用MRR,如果在ARC工程里面使用这个类,必须在project->buil ...

  2. 使用正则表达式进行身份证号匹配

    正则表达式匹配身份证号分为:18位和15位 校验 18位 身份证 地区: ([1-6][1-9]|50)\d{4} // 补充重庆地区50 年的前两位: (18|19|20) 1800-2399 年的 ...

  3. 身份证号码正则表达式详解

    1.结构: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 地址码:(身份证号码第一位到第六 ...

  4. 通过正则表达式校验手机号码,拿走即用!

    校验手机号码 2021/01/06更新,电信新增了191号段 1. 单纯校验长度 2.正则表达式校验数字 3.正则表达式校验是否是大陆号码 4.正则表达式校验是否是香港号码 //校验长度private ...

  5. Linux shell 学习笔记(15)— shell 正则表达式

    1. 定义 BRE 模式 1.1 纯文本 第一条原则就是:正则表达式模式都区分大小写.这意味着它们只会匹配大小写也相符的模式. $ echo "This is a test" | ...

  6. re2正则表达式匹配引擎的c接口版本cre2的中文使用手册

    前言 re2 官方地址: https://github.com/google/re2 cre2 官方地址: https://github.com/marcomaggi/cre2 1 基本类型定义 不透 ...

  7. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  8. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  9. 正则语法完全正则表达式手册_语法格式重点

    20211202 https://blog.csdn.net/lc11535/article/details/103266263 该表达式打开re.U(re.UNICODE)标志. python –& ...

最新文章

  1. Oracle技术牛人网站
  2. 在部署 C#项目时转换 App.config 配置文件
  3. python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...
  4. JavaScript 学到什么程度可以学 Node.js?
  5. ETL数据清洗的案例
  6. 【c】正负数二进制表示
  7. 分配系统盘容量应考虑三要素
  8. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_15-页面静态化-模板管理-模板管理业务流程...
  9. Learun,一款专注于业务,不用写代码的框架
  10. echarts 中国地图设置高亮省份
  11. 44、Search contract
  12. PHP Yar - 学习/实践
  13. PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\ADMINI~1\\AppDa ta\\Local\\Temp\\pi
  14. DFD图练习题(信用卡管理系统CCMS)
  15. 学习新的计算机语言的方法
  16. PID控制的理解与参数整定
  17. 2018年中考计算机考试成绩,2018年中考录取分数汇总,35所初中考成绩看2019中考!...
  18. 中国航天科工发布“天玥”系列移动计算产品
  19. word插入图片,嵌入型,无效果
  20. halcon编程入门四——halcon缺陷检测

热门文章

  1. 在命令行中打开远程端的图形应用程序
  2. memcache、Redis与MongoDB的学习-1
  3. 到底逾期几次才会影响贷款申请?
  4. c语言grade d10,《电子技术10级C语言课程设计报告书写规范》.doc
  5. linux 查找文件夹_用python打造一个基于socket的文件(夹)传输系统
  6. html5 hgroup,HTML5 hgroup 标签
  7. 陕师大计算机专业,陕师大计算机系组合数学试题
  8. kindle的xray怎么用_Xray使用的一些经验分享
  9. 虚拟机连接网络_Parallels Desktop 16教程PD16虚拟机共享网络和桥接网络设置方法
  10. 一些关于自己的未来的东西