Swift3中如何使用正则表达式?
How to use regular expressions in Swift 3?
想在Swift
关注this tutorial了解NSRegularExpression
,但是一直没更新到Swift 3
。当我用他们提供的示例打开操场时,我收到几个错误,其中之一是调用:
let regex = NSRegularExpression(pattern: pattern, options: .allZeros, error: nil)
我看到现在初始化程序抛出异常,所以我更改了调用,但 .allZeros
似乎不再存在。我没有在 Swift 3
中找到任何等效的教程或示例,有人可以告诉我现在应该用什么选项替换这样的 .allZeros
选项吗?
我相信 .allZeros
是在没有其他选项应用的情况下使用的。
因此对于 Swift 3,您可以传递一个空的选项列表或省略 options
参数,因为它默认为没有选项:
do {
let regex = try NSRegularExpression(pattern: pattern, options: [])
} catch {
}
或
do {
let regex = try NSRegularExpression(pattern: pattern)
} catch {
}
请注意,在 Swift 3 中,您不再使用 error
参数。现在 throws
.
您可以使用 []
:
let regex = try! NSRegularExpression(pattern: pattern, options: [])
这也是默认值,所以你可以省略这个参数:
let regex = try! NSRegularExpression(pattern: pattern)
找到它的最简单方法是命令+单击跳转到方法定义:
public init(pattern: String, options: NSRegularExpression.Options = []) throws
想在Swift
关注this tutorial了解NSRegularExpression
,但是一直没更新到Swift 3
。当我用他们提供的示例打开操场时,我收到几个错误,其中之一是调用:
let regex = NSRegularExpression(pattern: pattern, options: .allZeros, error: nil)
我看到现在初始化程序抛出异常,所以我更改了调用,但 .allZeros
似乎不再存在。我没有在 Swift 3
中找到任何等效的教程或示例,有人可以告诉我现在应该用什么选项替换这样的 .allZeros
选项吗?
我相信 .allZeros
是在没有其他选项应用的情况下使用的。
因此对于 Swift 3,您可以传递一个空的选项列表或省略 options
参数,因为它默认为没有选项:
do {
let regex = try NSRegularExpression(pattern: pattern, options: [])
} catch {
}
或
do {
let regex = try NSRegularExpression(pattern: pattern)
} catch {
}
请注意,在 Swift 3 中,您不再使用 error
参数。现在 throws
.
您可以使用 []
:
let regex = try! NSRegularExpression(pattern: pattern, options: [])
这也是默认值,所以你可以省略这个参数:
let regex = try! NSRegularExpression(pattern: pattern)
找到它的最简单方法是命令+单击跳转到方法定义:
public init(pattern: String, options: NSRegularExpression.Options = []) throws