ios - 无法进行正则表达式匹配,原因:无法打开模式
问题描述
textField
在我之后输入“asdf”时收到此错误消息endEditing
:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法进行正则表达式匹配,原因:无法打开模式U_REGEX_MISMATCHED_PAREN(字符串asdf,模式^(?=。[AZ]。(?=。 [0-9 ].(?=.*[az].{8}$, case 0, canon 0)'
static func isPasswordValid(_ password : String) -> Bool {
/*
^ Start anchor
(?=.*[A-Z].*[A-Z]) Ensure string has two uppercase letters.
(?=.*[!@#$&*]) Ensure string has one special case letter.
(?=.*[0-9].*[0-9]) Ensure string has two digits.
(?=.*[a-z].*[a-z].*[a-z]) Ensure string has three lowercase letters.
.{8} Ensure string is of length 8.
$ End anchor.
*/
let passwordTest = NSPredicate(format: "SELF MATCHES %@", "^(?=.*[A-Z].(?=.*[0-9].(?=.*[a-z].{8}$")
return passwordTest.evaluate(with: password)
}
我这样称呼它:
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if textField == passwordTextField {
if !Utilities.isPasswordValid(textField.text!){
self.passwordTextField.borderInactiveColor = .red
print("hi")
}
}
return true
}
我该如何摆脱这个?有什么错别字吗?我不明白,我很感激每一个帮助:)
解决方案
推荐阅读
- r - 将下一行总结成一个新的列
- java - 带有通配符的 java JSON optstring
- swift - 使用 AWS Amplify 生成的代码在 Swift 中出现 hasMany 关系错误
- javascript - 未捕获的类型错误:无法访问属性“单词”,键未定义
- html - 如何正确定位 3 个圆形图像
- javascript - HTML 和 Javascript - ReferenceError: 文档未定义
- reactjs - 如何使用nextjs检查页面上是否已呈现html表单
- python - 为每一行将值的一部分切片到一列中
- javascript - req.body.user_id 在 js 中未定义
- python - 将字符串拆分成对