Napisałem tę funkcję w rozszerzeniu ciągu i nie mogę znaleźć błędu.Połączenie może zostać wywołane, ale nie jest oznaczone "spróbuj", a błąd nie jest obsługiwany: NSRegularExpression
func isEmail() -> Bool {
let regex = NSRegularExpression(pattern: "^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{2,4}$", options: [.CaseInsensitive])
return regex.firstMatchInString(self, options: nil, range: NSMakeRange(0, characters.count)) != nil
}
Błąd jest:
Call can throw, but it is not marked with 'try' and the error is not handled
http://emailregex.com/ wskazują nieco inny deseń - '[A-Z Z0-9a ._% + -] + @ [A-Za-Z0-9 .-] + \\ . [A-Za-z] {2,6} 'specjalnie dla Swifta. Co myślisz? – Michal
@Michal: Powyższy kod używa '. Opcja CaseInsensitive' dla dopasowywania bez rozróżniania wielkości liter, a twój wzór pozwala na pisanie wielkich i małych liter. Wynik jest taki sam. –
dodatkowy plus za wskazanie przypadku emoji! – Kubba