我對真正的正則表達式知之甚少。
我想要測試密碼驗證。這個正則表達式允許「*」嗎?
下面是描述它的正則表達式(我沒有寫出來,不知道是什麼意思):
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