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/huoran1120/p/5139930.html

RTUILabel+正则表达式相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 正则表达式 - 语法

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 例如: r ...

  8. 正则表达式中的\.表示什么意思

    \ 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配.例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符.

  9. ?:在正则表达式中什么意思

    "?:"非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用. 单独的"?":匹配前面的子表达式零次或一次. 当"?"紧跟在任 ...

最新文章

  1. 第二十四章:页面导航(六)
  2. python提示keyerror 13372,Python 学习笔记之—— Pandas 库
  3. 梯度下降(Gradient Descent)的收敛性分析
  4. OpenResty请求参数处理
  5. VFP下利用API调用帮助
  6. 《大数据》2015年第3期“研究”——社交网络影响力传播研究(上)
  7. 苹果推出iCloud照片转移服务 能轻松转到谷歌相册
  8. 火狐 mysql插件_火狐firebug和firepath插件安装方法(最新)
  9. win32汇编 多线程编程与事件
  10. 利用halcon的深度学习网络进行目标检测
  11. NS和DNS的区别有哪些?
  12. SpringBoot+vue项目实战(一)
  13. 故障树FTA(fault tree analysis)工具链
  14. Pytorch-detach()用法
  15. SAS:Proc Freq ,输出结果控制小数位数
  16. Go 语言中的switch分支
  17. NCRE-嵌入式系统开发工程师-计算机组成与接口知识整理
  18. 最新版WinRAR5.61去广告代码教程分享(仅供学习交流)
  19. 2014黑客大会:怎样能破解一切?
  20. 软件流程和管理(七):个人、激励和团队

热门文章

  1. Inception网络 运行在Cifar10 测试集87.88% Tensorflow 2.1 小白从代码实践中 理解
  2. android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法
  3. leetcode —— 面试题54. 二叉搜索树的第k大节点
  4. C++/C--NULL与nullptr【转载】
  5. 数字图像处理--颜色选择
  6. OpenCV-数字图像处理之直方图均衡化
  7. leetcode53. 最大子序和详解——pygo
  8. mysql用户授权开发者_Mysql添加用户与授权
  9. python中while的用法_Python学习笔记之While循环用法分析
  10. sklearn 神经网络_机器学习100天-Day2404 循环神经网络RNN(预测时间序列)