在一開始,Swift 裡並沒有提供正則表達式的支持,所以我們只能自己來封裝,比如說寫一個結構體,像這樣:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
struct MyRegex { let regex: NSRegularExpression? init(_ pattern: String) { regex = try? NSRegularExpression(pattern: pattern, options: .CaseInsensitive) } func match(input: String) -> Bool { if let matches = regex?.matchesInString(input, options: [], range: NSMakeRange(0, (input as NSString).length)) { return matches.count > 0 } else { return false } } } |
其實現在 Swift 已經有了對正則表達式的支持,我們只需要這樣:
1 |
let result = name.rangeOfString("^[a-z]", options: .RegularExpressionSearch) |
直接就能獲取正則捕獲的內容了。
獲取到的是一個 範圍 ,配合字符串的對應方法,自然可以拿到捕獲的內容。如果沒有,則返回空,配合 如果 進行可選項值綁定,方便快捷!
本文由 落格博客 原創撰寫:落格博客 » Swift 中的正則表達式
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1948.html