https://www.cnblogs.com/foxting/p/4989704.html
之前记录了用正则验证邮箱地址 下面我也记录一下用其它方法使用正则
如下,查询字符串内是否有大写字母,注意rangeOfString方法的第二个参数是.RegularExpressionSearch 正则查找。这个不能写错了。
|
1
2
3
4
|
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这是必须要的,否则无法匹配。
|
1
2
3
4
|
let
capitalLetterRegex
= ``".*[A-Z].*"
let
predicate
= ``NSPredicate``(``format``: ``"SELF MATCHES %@"``, ``capitalLetterRegex``)
let
capitalResult
= ``predicate``.``evaluateWithObject``(``"A889"``)
print``(``"capitalResult:\(``capitalResult``)"``)
|
执行完后控制台输出:
capitalResult:true