我正在尝试验证Swift 3中的URL,但我似乎无法找到适合我需要的正则表达式。我所追求的正则表达式需要接受以下组合:
http://google.com
http://google.com/foo/bar:30/35
https://google.com
https://google.com/foo/bar:30/35
www.google.com
google.com
答案 0 :(得分:6)
func validateUrl (urlString: NSString) -> Bool {
let urlRegEx = "((?:http|https)://)?(?:www\\.)?[\\w\\d\\-_]+\\.\\w{2,3}(\\.\\w{2})?(/(?<=/)(?:[\\w\\d\\-./_]+)?)?"
return NSPredicate(format: "SELF MATCHES %@", urlRegEx).evaluateWithObject(urlString)
}
这很有用。