![](/img/trans.png)
[英]How to convert NSURLConnecion statement to Xcode 7 (swift 2.0)?
[英]How to use NSRegularExpression in Swift 2.0 in xcode 7
//错误在这里let regex = NSRegularExpression(pattern: "(<img.*?src=\\")(.*?)(\\".*?>)", options: nil, error: nil)
//错误是:***
找不到接受类型参数的类型nsregularexpression的初始值设定项(pattern:string,ption:nil,error:nil)
关于Swift 2.0中的语法有两处变化:(1)你将调用包装在try ... catch
块中而不是提供error
参数; (2) options
应为Set
,而不是数字or
个别选项。
在您的情况下,代码应如下所示:
do {
let regex = try NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: [])
} catch let error as NSError {
print(error.localizedDescription)
}
如果您知道您的模式总是成功,您可以像这样缩短它:
let regex = try! NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: [])
现在,如果要为模式设置选项,可以执行以下操作:
let regex = try! NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: [.CaseInsensitive, .AnchorsMatchLines])
在Swift2中。 你需要使用do
try
catch
的错误处理。
do {
let regex = try NSRegularExpression(pattern: "(<img.*?src=\")(.*?)(\".*?>)", options: NSRegularExpressionOptions.CaseInsensitive)
}catch {
// Handling error
}
xcode 7中的Swift 2.0中的NSRegularExpression
extension String {
func isEmail() throws -> Bool {
let regex = try NSRegularExpression(pattern: "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$", options: [.CaseInsensitive])
return regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, characters.count)) != nil
}
}
然后,当您想要调用该方法时,请从do块中执行此操作并捕获出现的错误。
do {
try "person@email.com".isEmail()
} catch {
print(error)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.