正则表达式,无重复字符

时间:2014-10-12 03:01:08

标签: c# regex

我有以下正则表达式。

^((?=.{10,32}$)(?=.*[A-Z])(?=.*[a-z]))

正则表达式具有以下功能:

  1. 密码至少包含(1)大写字母
  2. 密码至少包含(1)小写字母
  3. 密码长度介于10到32之间
  4. 我想再添加一个验证。我不想要任何连续重复的角色。

    你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用否定前瞻来执行此操作。

^(?=.{10,32}$)(?=.*[A-Z])(?=.*[a-z])(?!.*(.)\1).+$

Live Demo

答案 1 :(得分:1)

这将匹配任何一对相同的字符:

"(.)\1"

这里的小程序。

    static void Main(string[] args)
    {
        string a = "12223";
        string b = "P12345";


        bool z = Regex.IsMatch(a,@"(.)\1");
        bool x = Regex.IsMatch(b,@"(.)\1");

    }