dre*_*ves 173 regex cocoa objective-c
Initial Googling表明在Objective-C Cocoa应用程序中没有内置的方法来执行正则表达式.
所以有四个问题:
这是真的吗?
你在跟我开玩笑吗?
好的,那么你推荐一个不错的开源库吗?
在没有导入库的情况下,有什么方法可以使用NSScanner类?
小智 141
我注意到,从iOS 4.0开始,Apple提供了一个NSRegularExpression类.此外,从10.7开始,该类在OS X下可用.
mfa*_*kas 42
例如,RegExKitLite不需要任何库,只需将.m和.h添加到项目中.
(我对RegExKitLite的投诉是它通过类别扩展NSString,但它也可以被视为一个功能.它还使用操作系统附带的非公共ICU库,Apple不推荐这样做.)
Ada*_*ght 11
您可以使用POSIX Regular Expressions库(Yay用于兼容POSIX的操作系统).尝试
man 3 regex
Run Code Online (Sandbox Code Playgroud)
我用来解决REGEX和JSON解析问题的廉价和肮脏的黑客解决方案是创建一个UIWebView对象并注入Javascript函数来进行解析.然后javascript函数返回我关心的值(或值列表)的字符串.实际上,您可以存储为特定任务定制的小型库函数集,然后根据需要调用它们.
我不知道这种技术是否可以扩展到大量的重复解析请求,但是对于快速的事务处理,它可以完成工作,而不依赖于您可能不理解的任何额外的外部资源或代码.
我喜欢使用PCRE的AGRegex框架,如果你习惯了PCRE语法,我会很方便.该框架的最佳版本是Colloquy IRC客户端中的最佳版本,因为它已升级为使用PCRE 6.7:
http://colloquy.info/project/browser/trunk/Frameworks/AGRegex
它非常轻巧,远远超过RegExKit(尽管当然不具备能力).
在我搜索这个主题的过程中,我遇到了CocoaOniguruma,它使用Oniguruma,Ruby1.9 和 PHP5 背后的正则表达式引擎。与现有的OregKit(日语)相比,它似乎更新了一些。不确定这些与其他绑定如何叠加。