已编译代码中的RegEx语法-密码



我使用以下代码模式进行密码验证。出于某种原因,regex语法适用于外部站点,但不适用于编译后的代码。换句话说,当它应该返回true时,它返回false。

这在编译后的代码中不起作用(请参阅示例作为注释),但在以下网站中有效http://www.regexlib.com:

我有点不知所措。。。。任何帮助都很重要。c#、MVC3、

        // Function to check for valid password.
    public bool IsPassword(String strToCheck)
    {
        // Password expresion that requires one lower case letter, one upper case letter, one digit, 6-13 length, and no spaces.
        // 1agdA*$# | 1agdA*$# | 1agdA*$#
        var objPasswordPattern = new Regex(@"^(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?!.*s).{6,13}$");
        return !objPasswordPattern.IsMatch(strToCheck);
    }

我敢肯定这只是一个小‘!’在让你绊倒的回流线上。这样做就是在说"不匹配"。我在本地运行了你的代码,结果就是这样。