在Swift中我正在使用正则表达式检查“WWW”和“HTTP”两者,但在我的代码中,当我输入时它只检查http “www.google.com”然后它的节目无效请给我解决方案。这是我的代码。当我们没有放http时如何检查网址。
func validateUrl (stringURL : NSString) -> Bool {
let urlRegEx = "(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*)+)+(/)?(\\?.*)?"
let predicate = NSPredicate(format:"SELF MATCHES %@", argumentArray:[urlRegEx])
let urlTest = NSPredicate.predicateWithSubstitutionVariables(predicate)
print(urlTest);
return predicate.evaluateWithObject(stringURL)
}
答案 0 :(得分:1)
您可以尝试与此类似的正则表达式:
(http:\/\/)?w{3}\.[^\s]*\.[a-zA-Z]{2,3}
(http:\/\/)?
:http可以显示0或1次。w{3}
:www \.[^\s]*
:点字符后跟除空格以外的任意数量的其他字符\.[a-zA-Z]{2,3}
:点字符后跟2或3个字母我不确定它是否涵盖了所有情况,但它会给你一个很好的起点来做一些测试和重构。它也不包括非法的URL字符。