1、关于学习正则表达式:
花了半小时看完 <正则表达式30分钟入门教程> http://deerchao.net/tutorials/regex/regex.htm ,又花了1小时看了bobo传给我的pdf,感觉初步掌握了。
PS:看bobo那个pdf的时候有两个感觉,一个感觉是正则表达式很数学,有种奥数的感觉。第二感觉是,这玩意怎么越看越像考试题?给出一堆string和一个正则表达式,请高亮标出匹配结果。
2、关于写正则表达式:
由于是实战,而他妈不是坑爹的考试,因此目前来讲表达式很简单,因此也很好写,又因为pdf中提供了一个小工具,测试表达式就更方便了,2分钟搞定。
3、iOS下的RegexKitLite库:
目前版本是4.0,这里遇到小问题,3.3版本的时候有4个文件,而4.0变成了两个。但4.0里的demo还是按照3.3写的,所以如果复制demo直接用,会说 [NSCFString matchEnumeratorWithRegex:]: unrecognized selector sent to instance,该方法正是4.0里面有的那个文件里定义的。怎么办呢?其实是4.0里用了另外的方法 componentsMatchedByRegex ,这个方法直接生成NSArray!之前3.3的是生成一个NSEnumerator!所以现在可好用了,直接生成Array啦!用起来很方便!
4、感谢bobo和dd!
PS:那个正则pdf真不错。尤其是在看过之前那个30分钟入门后,哈哈!两个都很实用!
重要:
php和xcode的正则表达式中,正向预查里不能有正则表达式,反向预查里可以有,而在c#,c++里,正向预查里可以有正则表达式。
以上结论是根据正则帝dd的实验结果进行的推测。
正则帝威武!
12月12日更新:使用正则需要在工程中添加libicucore.dylib frameworks。不知道当时为什么没写这个,今天看到了一个正则的帖子,然后回去查我之前的程序,确实加入了这个framework,所以记下来。