感谢有香烟没火柴的分享!
正则表达式功能强大,使用广泛,相信折腾代码的童鞋都深有体会。
大多数语言都有正则表达式的内置函数库,但iOS的SDK却不支持,只能使用第三方类库,那么使用这些第三方类、库的时候,我们需要注意正则表达,RegexKitLite是一个非常不错的Objective-C语言的正则类,是NSString的category,调用灰常方便。
三、调用正则:
if ([aString isMatchedByRegex:@"^\\d+(\\.\\d+)?$"]) {
NSLog(@"aString是非负数!");
} else {
NSLog(@"aString不是非负数!");
}

[dl href=”http://vdisk.weibo.com/s/arbLH”]点此下载正则类RegexKitLite Demo[/dl]

相关推荐:正则类RegexKitLite的具体使用方法教程

一、到http://regexkit.sourceforge.net/下载RegexKitLite类,添加到项目中;
二、在项目的framework中添加libicucore.dylib;
将RegexKitLite.h及RegexKitLite.m两个文件导入到工程当中去:Add->Existing Files…注意要勾选“Copy items into Destination’s Group Folder(if needed)”。

因为RegexKitLite使用ICU库,所以需要动态链接到/usr/lib/libicucore.dylib库当中去,否则你会得到13个错误。具体Dynamically linked to /usr/lib/libicucore.dylib方法如下
1.进入菜单Project->Edit Project Settings
2.在搜索框内输入linker搜索,找到”Other Linker Flags”选项。

3. 加入一个新的标签,名为-licucore。
(这样可能更好:工程中添加libicucore.dylib frameworks。)

现在,我们已经实现了RegexKitLite的导入。我们可以试一下它是否工作,在你要编写的m文件当中include “RegexKitLite.h”文件,而后按照http://regexkit.sourceforge.net/RegexKitLite/给的例字试验几例。

补充:

ICU(International Component for Unicode/Unicode国际化组件) 是 Unicode 支持、软件国际化、全球化的一个成熟的、广泛应用的库,是一个由 IBM 赞助、支持和使用的,基于”IBM公共许可证”,用于支持软件国际化的开源项目。这个库为 C 和 Java™ 编程语言提供了一整套操作 Unicode 数据的函数。这个库是在一种无限制的开放源码许可证下发布的,这使它可以在许多应用程序中使用。
ICU 提供的函数实现了标准的 Unicode Collation Algorithm(UCA)以及许多文化调整功能。很容易将适当的 ICU 函数组合成一个 UDF(用户定义函数),从而让 DB2 可以充分利用 ICU 的排序支持。(DB2 for Linux, UNIX, and Windows 就是使用 ICU 库来实现在 Unicode 数据上支持的三种文化排序。)   ICU首先是由Taligent公司开发的,Taligent公司现在被合并为IBM?公司全球化认证中心的Unicode研究组,然后ICU由IBM和开源组织合作继续开发,开源组织给与了ICU极大的帮助。   开始ICU只有Java平台的版本,后来这个平台下的ICU类被吸纳入SUN公司开发的JDK1.1,并在JDK以后的版本中不断改进。C++和C   平台下的ICU是由JAVA平台下的ICU移植过来的,移植过的版本被称为ICU4C,来支持这C/C++两个平台下的国际化应用