Мне нужно регулярное выражение для проверки имени пользователя с помощью RegularExpressionAttribute. Он должен совпадать с именем пользователя, которое не содержит значения по умолчанию для requestPathInvalidCharacters (<,>, *,%, &,:, \,?).Регулярное выражение для запроса значения по умолчаниюPathInvalidCharacters
Так оно и должно соответствовать
AAFA.
aaf8-а
AAFA
Он не должен соответствовать
aa<fa
ААР> а
ААР * а
AAFA *
ААР% в
ААР &
ААР: а
ААР \ а
ААР
До сих пор я был? настраивая это регулярное выражение, но в одном из этих случаев он все еще терпит неудачу ...
^(?!.*(<|>|\*|%|&|:|\\|\?).*)$
[Fact] public void CanValidateAgainstInvalidCharacter() { var result = true; Assert.True(result);
var listWeDontWant = @"<,>,*,%,&,:,\,?";
var inner = listWeDontWant.Split(',').Select(x => Regex.Escape(x)).Aggregate((s, s1) => s + "|" + s1);
//inner = @"\\";
var pattern = @"^(?!.*(" + inner + ").*)$";
Debug.WriteLine(pattern);
//var isMatch = ;
//Debug.WriteLine(isMatch);
pattern = @"^[^<>*%&:\\\?]+$";
Assert.False(Regex.IsMatch("aaf\a", pattern));
// Assert.True(Regex.IsMatch("aafa.", pattern));
// Assert.True(Regex.IsMatch("aaf8-a", pattern));
//Assert.True(Regex.IsMatch("aafa", pattern));
//Assert.True(Regex.IsMatch("aafa", pattern));
//Assert.True(Regex.IsMatch("aa,fa", pattern));
//Assert.True(Regex.IsMatch("aafa", pattern));
//Assert.False(Regex.IsMatch("aa<fa", pattern));
//Assert.False(Regex.IsMatch("aaf>a", pattern));
//Assert.False(Regex.IsMatch("aaf*a", pattern));
//Assert.False(Regex.IsMatch("aafa*", pattern));
//Assert.False(Regex.IsMatch("aaf%a", pattern));
//Assert.False(Regex.IsMatch("aaf&a", pattern));
//Assert.False(Regex.IsMatch("aaf:a", pattern));
//Assert.False(Regex.IsMatch("aaf\a", pattern));
//Assert.False(Regex.IsMatch("aaf?a", pattern));
}
Угадывает, какой из этих случаев он терпит неудачу для части игры? Если нет, возможно, вы могли бы рассказать нам. –
Guessing не входит в игру. Однако, когда я настраиваю выражение, оно начинает терпеть неудачу на одном из этих тестов. Позвольте мне обновить свой вопрос с помощью тестовых примеров, которые я использовал. – firefly