在一开始,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 已经有了对正则表达式的支持,我们只需要这样:
[crayon-67686b331a17f328490[……]