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);

}

0118——RTLabel和正则表达式的更多相关文章

  1. RTUILabel+正则表达式

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

  2. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  3. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  4. C# 正则表达式大全

    文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...

  5. C#基础篇 - 正则表达式入门

    1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...

  6. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  7. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  8. 【JS基础】正则表达式

    正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...

  9. JavaScript 正则表达式语法

    定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...

随机推荐

  1. mysql中常用的语句整理

    mysql中常用的语句: 1:创建带自增长的主键的表 DROP TABLE IF EXISTS user_login ; CREATE TABLE user_login (   user_id INT ...

  2. mysql配置文件my.cnf解析转载

    basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...

  3. PowerDesigner使用常见问题

    1.在数据库生成表的时候,要求PowerDesigner中设计的表的Name的值要放到数据库中表的描述中,而不是PowerDesigner 中字段的Comment: 具体方法如下:首先将PowerDe ...

  4. ajax请求或者页面需要缓存,代码如下

    缓存页面代码 1 private void setClientCache(HttpServletResponse response, int maxAgeSec) 2 { 3 long maxAgeM ...

  5. php性能效率优化

    [size=5][color=Red]php性能效率优化[/color][/size] 最近在公司一边自学一边写PHP程序,由于公司对程序的运行效率要求很高,而自己又是个新手,一开始就注意程序的效率很 ...

  6. ecshop优化修改sitemap.xml到根目录

    大家都知道sitemap.xml是用来给搜索引擎提交收录的工具,虽然搜索引擎自己也会收录网站但是有了sitemap.xml之后速度会加快不少.而ecshop程序是有自动生成sitemap.xml的功能 ...

  7. Word2Vec之Deep Learning in NLP (一)词向量和语言模型

    转自licstar,真心觉得不错,可惜自己有些东西没有看懂 这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享.其中必然有局限性,欢迎各种交 ...

  8. Ueditor开发经验

    Ueditor是百度开发的一款免费使用的富文本编辑器. 先前就一直使用Ueditor,觉得功能挺多的,而且还给出了详细的文档,供二次开发. 但Ueditor已经出新的版本(和先前版本很不相同),网上很 ...

  9. C/C++ 指针的非空判断

    一定要分得清楚C和C++的“空指针常量”不是一样的.C标准不保证NULL等于0,所以做指针非空判断时,应该用if(p != NULL):因为“上下文转换到bool值”的统一性,C++就应该用if(p) ...

  10. 清除IE输入框眼睛和叉叉

    /* 清除IE输入框眼睛和叉叉 */::-ms-clear { display: none; } ::-ms-reveal { display: none; }