Swift正则表达式

时间:2015-12-25 03:08:12

标签: regex swift

我想测试用户输入以查看整个输入是否与以下正则表达式匹配。我如何使用Swift做到这一点?

[a-zA-Z]+@[a-zA-Z]+.[a-zA-Z]

2 个答案:

答案 0 :(得分:4)

看起来您正在尝试验证电子邮件地址。试试这个:

public void putFragment(int i,byte[] f) {
    fragments.put(i, f);
}

let test = "someone@somewhere.com" do { let regex = try NSRegularExpression(pattern: "[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-zA-Z]", options: []) if regex.firstMatchInString(test, options: [], range: NSMakeRange(0, test.utf16.count)) != nil { print("matched") } else { print("not matched") } } catch let error as NSError { print(error.localizedDescription) } 仍然背后有很多ObjC遗产,因此使用它非常冗长。

答案 1 :(得分:1)

这里有一种在 Swift 中没有 NSRegularExpression 的方法。您仍然需要import Foundation

let email = "foo@bar.com"
if let _ = email.range(of: #"[a-zA-Z]+@[a-zA-Z]+.[a-zA-Z]"#,
                                 options: .regularExpression) {
    print("We have a match!")
}