我对真正的正则表达式知之甚少。
我想要测试密码验证。这个正则表达式允许“*”吗?
下面是描述它的正则表达式(我没有写出来,不知道是什么意思):
private static string passwordField = "[^A-Za-z0-9_.\\[email protected]#$%^&*()=+;:'\"|~`<>?\\/{}]";
我已经试过像“dfgbrk*
”,和我的代码的密码,使用上面的正则表达式,允许它。
这是否与正则表达式定义的可接受一致,还是与我的代码有问题?
你能给我一个字符串的例子,验证使用上述正则表达式是不是假设允许?
补充:这里是原来的代码如何使用这个表达式(和它的作品有):
public static bool ValidateTextExp(string regexp, string sText)
{
if (sText == null)
{
Log.WriteWarning("ValidateTextExp got null text to validate against regExp {0} . returning false",regexp);
return false;
}
return (!Regex.IsMatch(sText, regexp));
}
好像我做错了..
感谢。
提供您的其余代码。看看如何使用正则表达式会很有帮助。 – 2010-10-19 17:17:18
该正则表达式包含字符类的否定(以'[^'开头),因此它不应与您的'dfgbrk *'示例匹配。你可以显示一些实际使用'passwordField'字符串的代码吗? – 2010-10-19 17:23:07
为什么你想禁止密码中的某些字符? – CodesInChaos 2010-10-21 18:57:47