正则表达式NSRegularExpression

前端之家收集整理的这篇文章主要介绍了正则表达式NSRegularExpression前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文链接http://www.jb51.cc/article/p-dpglihsk-rd.html


在Android开发中正则表达式用处很大

Java的正则表达式功能也很强


iOS中同样也可以用正则表达式

就是NSRegularExpression


分享一个正则表达式在线测试网

http://regexpal.com


可以测试写出来的表达式是否正确


接下来就直接举个例子

<item>what a day</item>

这是一个字符串

需要做的就是把<item></item>之间包裹的内容提取出来


代码如下

[html] view plain copy
  1. NSString*content=@"<item>whataday</>";
  2. NSString*pattern=@">(.+)>";
  3. NSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:patternoptions:NSRegularExpressionCaseInsensitiveerror:nil];
  4. NSArray*matches=[regexmatchesInString:contentoptions:NSRegularExpressionCaseInsensitiverange:NSMakeRange(0,content.length)];
  5. if(matches){
  6. for(NSTextCheckingResult*matchinmatches){
  7. for(inti=0;i<match.numberOfRanges;++i){
  8. NSLog(@"->%@",[contentsubstringWithRange:[matchrangeAtIndex:i]]);
  9. }
  10. }
  11. }

输出结果

-> <item>what a day</item>

-> what a day


pattern很简单就是

<item>(.+)</item>

匹配的结果放在一个NSArray里头

而每个匹配里又分成几个结果 (个数由pattern中包含几个组而决定 这里只有一个组就是 "(.+)")

第一个结果就是匹配本身


<item>what a day</item>而其中想要的内容就是第二个结果

今天的分享就这些


其他资料:

http://zhuhaibobb.blog.163.com/blog/static/27440067201411752450958/

猜你在找的正则表达式相关文章