我想要以下条件的正则表达式,
例如.
提前致谢.我的代码
NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"^(?[0-9])(?[a-zA-Z]){7,}$"];
BOOL isvalid = [regex evaluateWithObject:string];
Run Code Online (Sandbox Code Playgroud)
抱歉,我找不到以前用过的正则表达式.
您已接近评论中第二个示例中的前瞻.你有一个正在寻找一个数字[0-9],但它说它必须从那个数字开始(不检查你的字母).
试试这个:
^(?=.*[a-zA-Z\d].*)[a-zA-Z\d!@#$%&*]{7,}$
使用列出的示例我用它做了一些测试.正则表达式是你找到的两个的组合.
前瞻并查看是否至少有一个字母或数字
(?=.*[a-zA-Z\d].*).让.*你允许检查在字符串中的任何一点传递,而不仅仅是开头.然后你说正则表达式需要在它继续之前完成检查.将其视为if子句,如果字符串在任何点包含字母或数字,请继续.
一旦确定有一个字母或数字(整个字符串中至少有一个),请匹配字母,数字和特殊字符集.至少7 [a-zA-Z\d\!@#\$%&\*]{7,}.这个部分很简单,因为你只是设置规则并说,给我至少7个.
| 归档时间: |
|
| 查看次数: |
31157 次 |
| 最近记录: |