Как использовать регулярные выражения в Swift 3?
Я хотел следовать в этом уроке, чтобы узнать о NSRegularExpression на Swift, но он не был обновлен до Swift 3. Когда я открываю игровую площадку с примерами, которые они предоставляют, я получаю несколько ошибок, будучи одним из них вызов:
let regex = NSRegularExpression(pattern: pattern, options: .allZeros, error: nil)
Я видел, что теперь этот инициализатор выдает исключение, поэтому я изменил вызов, но это .allZeros кажется, больше не существует. Я не нахожу никакого учебника или примера с эквивалентом этого в Swift 3, может кто-нибудь скажите мне, какой вариант теперь должен заменить такой ?
2 ответов
Я считаю .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