我正在尝试从以下创建正则表达式:
#define RegEX_1_UPPER_1_SPECIAL @"((?=.*[A-Z])(?=.*[$@!%*?&-+_()]).{8,})"
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern: RegEX_1_UPPER_1_SPECIAL options:0 error:&error];
但是,不幸的是它返回了以下错误:
Error Domain=NSCocoaErrorDomain Code=2048 "The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x7ff6f51b5af0 {NSInvalidValue=(?=.*[A-Z])(?=.*[$@!%*?&-+_]).{8,15}}
Best Answer-推荐答案 strong>
问题在于您的特殊字符集合中的连字符。连字符在 [ 和 ] 中具有特殊含义,即一系列字符(例如 [A-Z] )。如果要搜索文字连字符,则必须转义:
#define RegEX_1_UPPER_1_SPECIAL @"((?=.*[A-Z])(?=.*[$@!%*?&\\-+_()]).{8,})"
关于ios - NSRegularExpression 创建上的 Cocoa 错误 2048,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31566057/
|