我正在尝试创建一种使用正则表达式查找字符串是否包含数字,大写字母和特殊字符的方法,如下所示
func checkTextSufficientComplexity(var text : String) -> Bool{
let capitalLetterRegEx = "[A-Z]+"
var texttest = NSPredicate(format:"SELF MATCHES %@", capitalLetterRegEx)
var capitalresult = texttest.evaluateWithObject("AniP")
println("\(capitalresult)")
let numberRegEx = "[0-9]+"
var texttest1 = NSPredicate(format:"SELF MATCHES %@", numberRegEx)
var numberresult = texttest1.evaluateWithObject(text)
println("\(numberresult)")
let specialCharacterRegEx = "[.*&^%$#@()/]+"
var texttest2 = NSPredicate(format:"SELF MATCHES %@", numberRegEx)
var specialresult = texttest2.evaluateWithObject(text)
println("\(specialresult)")
return capitalresult && numberresult && specialresult
}
问题是下面的正则表达式[AZ] +仅对AVATAR返回true,对Avatar返回false。我希望我的正则表达式如果在String中包含至少一个UpperCase,则返回true。
只需将您的RegEx规则[AZ] +替换为。* [AZ] +。*(以及其他RegEx规则)
规则
[AZ] +仅匹配所有大写字母的字符串
示例:AVATAR,AVA,TAR,AAAAAA
无效:AVATAr
。*匹配所有字符串(0+个字符)
示例:1、2,AVATAR,AVA,TAR,a,b,c
。* [AZ] +。*匹配所有带有至少一个大写字母的字符串
示例:头像,头像,头像
解释:
I .. *将尝试匹配0或多个
II。[AZ] +至少需要一个大写字母(因为+)
。。*将尝试匹配0个或多个
头像[空| “ A” | “ vatar”]
aVatar [“ a” | “ V” | “ atar”]
aVAtar [“ a” | “ VA” | “柏油”]
工作守则
func checkTextSufficientComplexity(var text : String) -> Bool{
let capitalLetterRegEx = ".*[A-Z]+.*"
var texttest = NSPredicate(format:"SELF MATCHES %@", capitalLetterRegEx)
var capitalresult = texttest!.evaluateWithObject(text)
println("\(capitalresult)")
let numberRegEx = ".*[0-9]+.*"
var texttest1 = NSPredicate(format:"SELF MATCHES %@", numberRegEx)
var numberresult = texttest1!.evaluateWithObject(text)
println("\(numberresult)")
let specialCharacterRegEx = ".*[!&^%$#@()/]+.*"
var texttest2 = NSPredicate(format:"SELF MATCHES %@", specialCharacterRegEx)
var specialresult = texttest2!.evaluateWithObject(text)
println("\(specialresult)")
return capitalresult || numberresult || specialresult
}
例子:
checkTextSufficientComplexity("Avatar") // true || false || false
checkTextSufficientComplexity("avatar") // false || false || false
checkTextSufficientComplexity("avatar1") // false || true || false
checkTextSufficientComplexity("avatar!") // false || false || true
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句