【发布时间】:2016-01-11 14:27:15
【问题描述】:
我正在为如何编写特定的正则表达式而苦苦挣扎,并认为我会来这里寻求一些指导。
我正在寻找的是执行以下操作的表达式:
- 字符长度为 7 或更多
- 任何单个字符都是四种模式之一(大写字母、小写字母、数字和一组特定的特殊字符。比如说 #$%@)。
(现在,这是我遇到问题的地方):
- 另一个单个字符也将与上述模式之一匹配,但已匹配的模式除外。因此,如果匹配的第一个模式是大写字母,则匹配的第二个字符应该是模式中的小写字母、数字或特殊字符。
举个例子,字符串 AAAAAA# 会匹配,字符串 AAAAAAa 也会匹配。但是,字符串 AAAAAAA 和字符串 AAAAAA& 也不会(因为 & 符号不是特殊字符模式的一部分)。
有什么想法吗?谢谢!
【问题讨论】:
-
换句话说,您要查找 7 个或更多字符,其中至少包含来自四个组中的两个组的字符?
-
使用环视,很简单。
-
AaAAAAaa 匹配吗?
-
@brunch875 - 是的,它会的。 A & a 将满足来自四个模式组中的两个的匹配要求。
-
旁注:为什么它必须是正则表达式?因为这看起来像是一个密码正则表达式。
标签: regex string nsregularexpression