Я до сих пор использовал функцию для проверки формата электронной почты и пароля
func isRegexValid(string:String,regex:String) -> Bool {
return NSPredicate(format: "SELF MATCHES %@", regex).evaluate(with: string)
}
Я пытался проверить определенный шаблон и столкнулся с проблемами.Я искал строку с 4 разделителями-запятыми, за которыми следовал бы "ext"
^(.*,){4}ext
Приведенная выше функция не справилась бы с этим, как и ожидалось, поэтому я попробовал альтернативу, которая хорошо работает
func isRegexValid2(string:String,pattern:String) -> Bool {
let regex = try! NSRegularExpression(pattern: pattern, options: [])
return regex.firstMatch(in: string, options: [], range: NSMakeRange(0, string.utf16.count)) != nil
}
Я хотел бы понять разницу между двумя вызовами регулярных выражений и следует ли нам избегать одного или другого.