主页 > W亮生活 >iPhone函式库RegexKitLite >

iPhone函式库RegexKitLite


许多平常习惯于开发 Web 应用程式的开发者,当他们转换跑道到 iPhone 开发上时,往往会对于 Cocoa Touch 不支援 Regular Expression 感到相当困扰。本篇文章将介绍 RegexKitLite,这套在 Cocoa Touch 上的主流第三方 Regular Expression Framework。

Regular Expression

Regular Expression 在台湾的翻译名称有相当多种,像是「正规表达法」、「正则表达式」等,主要的作用是用来表达字串的 Pattern,并且以表达出的 Pattern 进行搜寻、替换或是删除等字串操作。

像是在进行表格验证、或者是分析网页资料的时候,RegEx 便是很常用的工具,在各种网页开发语言中均有支援。

RegexKitLite

而在 iPhone 的开发环境 Cocoa Touch 中在 OS 3.2 前对 RegEx 没有任何支援,而 OS 3.2 所提供的 RegEx 支援也仅只提供搜寻字串而已。因此,RegexKitLite 这套第三方的函式库便是大多数开发者的选择。

RegexKitLite 为 Cocoa Touch 中原有的 NSString 提供了许多方便的方法来使用 RegEx,背后的的原理则是使用 iPhone OS 内建的 ICU 函式库来进行 RegEx 的操作。

安装方式

我们首先从 RegexKitLite 的网站 上下载最新版本,解压缩后会得到範例程式、授权说明以及最重要的档案:RegexKitLite.h/RegexKitLite.m,而我们首先便是要将这两个文件拖放到 Xcode 的专案视窗中,让 RegexKitLite 让加入到我们的程式中。

iPhone函式库RegexKitLite
在顺利加入 RegexKitLite 后,我们需要将我们的程式与 RegexKitLite 背后所使用的 ICU 函式库进行连结。我们先打开我们专案的 Info 画面,在 Build 分页下搜寻 Other Linker Flags 选项,加入 -licucore 便完成了!

当然,我们也需要在我们要使用 RegexKitLite 的程式码中加入:

import "RegexKitLite.h"

这样就可以在我们程式中呼叫相关的方法了。

使用方式

RegexKitLite 提供的方法都是透过 NSString 来操作,并且有相当多种功能,以下是几个笔者常用的方法:

- captureComponentsMatchedByRegex:regex;

这个方法是透过传入一个 Regex 来进行字串的比对,并且会将第一组比对出来的结果以 NSArray 回传群组。

- arrayOfCaptureComponentsMatchedByRegex:regex;

这个方法如同上者,一样会回传 Regex 所比对出来的字串群组,但会回传全部的配对组合。

- isMatchedByRegex:regex;

判断字串是否与 Regex 配对,在进行资料验证的时候很实用。

- stringByMatching:regex;

这方法则是会回传配对出来的第一个完整字串。

- stringByReplacingOccurrencesOfRegex:regex withString:replacement;

将字串中与 Regex 配对的结果进行替换。

补充

由于 RegexKitLite 所提供的方法相当的丰富,因此他们也提供了与 Xcode 文件整合,在 Xcode 3.2 版后可以在 Xcode 的设定画面中看到 Documentation 的选项,点击 Add Publisher 后输入以下网址:

feed://regexkit.sourceforge.net/RegexKitLiteDocSets.atom

之后在同画面中便会看到 RegexKitLite Reference Library 这个项目,点选旁边的 Get 按钮便会开始下载、加入到 Xcode 的文件查询中。



上一篇: 下一篇:

电子全配备护体重返安全荣耀 Volvo V40

电子出版的定价策略

电子加速器好用 低成本、高效益篇

电子化收费 市民不知情 买卡加额收费站长龙

电子压境或纸本复兴?──美国2016年的阅读调查

电子发票、感热纸都含毒!专家9招远离双酚A危害

申博太阳城_宝马会开户|最大的生活分享社区|热点新闻动态|网站地图 申博官网备用网址_澳门银河总站9 申博官网备用网址_注册送体验白菜网