https://www.cnblogs.com/foxting/p/4989704.html
之前記錄了用正則驗(yàn)證郵箱地址 下面我也記錄一下用其它方法使用正則
如下鸿摇,查詢字符串內(nèi)是否有大寫字母,注意rangeOfString方法的第二個(gè)參數(shù)是.RegularExpressionSearch 正則查找溢十。這個(gè)不能寫錯(cuò)了。
|
1
2
3
4
|
let
testRegex
= ``".*[A-Z].*"
let
word
= ``"aBc"
let
range
= ``word``.``rangeOfString``(``testRegex``, ``options``: .``RegularExpressionSearch``)
print``(``"range=\(``range``)"``)
|
運(yùn)行上面的代碼然后在控制臺可以看到輸出以下內(nèi)容:
range=Optional(Range(0..<3))
這里就查以用 if range == nil 來判斷是否匹配成功欧宜。
接著看下面的手负,要實(shí)現(xiàn)的效果跟上面一樣,也是用正則匹配大寫字母漾肮,這里要注意NSPredicate第一個(gè)參數(shù)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``)"``)
|
執(zhí)行完后控制臺輸出:
capitalResult:true