之前记录了用正则验证邮箱地址 下面我也记录一下用其它方法使用正则
如下,查询字符串内是否有大写字母,注意rangeOfString方法的第二个参数是.RegularExpressionSearch 正则查找。这个不能写错了。
let testRegex = ".*[A-Z].*" let word = "aBc" let range = word.rangeOfString(testRegex, options: .RegularExpressionSearch) print("range=(range)")
运行上面的代码然后在控制台可以看到输出以下内容:
range=Optional(Range(0..<3))
这里就查以用 if range == nil 来判断是否匹配成功。
接着看下面的,要实现的效果跟上面一样,也是用正则匹配大写字母,这里要注意NSPredicate第一个参数format的值为"SELF MATCHES %@",其中SELF MATCHES这是必须要的,否则无法匹配。
let capitalLetterRegex = ".*[A-Z].*" let predicate = NSPredicate(format: "SELF MATCHES %@", capitalLetterRegex) let capitalResult = predicate.evaluateWithObject("A889") print("capitalResult:(capitalResult)")
执行完后控制台输出:
capitalResult:true