我正在尝试从以下创建正则表达式:
#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}}
问题在于您的特殊字符集合中的连字符。连字符在 [
和 ]
中具有特殊含义,即一系列字符(例如 [A-Z]
)。如果要搜索文字连字符,则必须转义:
#define RegEX_1_UPPER_1_SPECIAL @"((?=.*[A-Z])(?=.*[$@!%*?&\\-+_()]).{8,})"
关于ios - NSRegularExpression 创建上的 Cocoa 错误 2048,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31566057/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |