前言: 编程中,对于字符串的处理是无处不在的.时常需要在一堆乱码中找到有用的信息.比如在如下的字符串中获取有效的 URL 或 Email
ababsdbasbdabdhttp://baidu.com <div>test@test.com<div> 诸如此类问题,我们都可以通过正则表达式来解决,正则在任意编程语言都有对应实现.
iOS4 之后,Cocoa 也提供了用于正则的 NSRegularExpression 和 NSTextCheckingResult 这两个类. 前者用于创建正则,匹配,替换;后者是一个快速匹配对象,可用于检查拼写,URL等,也可作为正则匹配的结果,包含匹配到子串所在 range 和匹配规则.
创建: NSRegularExpression * regex = [NSRegularExpression regularExpressionWithPattern:@"http[s]?://[A-z0-9.-]*" options:NSRegularExpressionCaseInsensitive error:nil]; 正则匹配模式
[] 表示集合, * 表示 出现零次或多次, ? 表示出现零次或一次, http[s]?://[A-z0-9.-]* ,即匹配以 http:// 或 https:// 开头,含有零或多个字母 - . 的字符串 option
NSRegularExpressionCaseInsensitive //忽略大小写 NSRegularExpressionAllowCommentsAndWhitespace //忽略空格,回车,tab,注释 NSRegularExpressionIgnoreMetacharacters //忽略 Meta NSRegularExpressionDotMatchesLineSeparators //允许使用 . 通配任何符号,包括换行符 NSRegularExpressionAnchorsMatchLines //允许使用 ^ $匹配行头和行尾 NSRegularExpressionUseUnixLineSeparators //只把 \n 当做换行符 NSRegularExpressionUseUnicodeWordBoundaries 应用: NSRegularExpression 提供了对字符串 匹配 , 替换 的函数,...