Я использую следующее выражение.Регулярное выражение Не работает в .net
\ W [A-C] {3}
Цель состоит в том, чтобы соответствовать 3-х символов чего-либо между А и С, которые не имеют каких-либо символов перед ними. Так что с вводом «ABC» он совпадает, но «DABC» этого не делает.
Когда я пытаюсь использовать это выражение, используя различные инструменты онлайн-регулярных выражений (например, http://gskinner.com/RegExr/), он отлично работает. Когда я пытаюсь использовать его в asp.net RegularExpressionValidator или с классом RegEx, он никогда не соответствует чему-либо.
Я пробовал различные методы, не позволяющие персонажу перед матчем. например.
[^\w] and [^a-zA-Z0-9]
все работает в онлайн-инструментах, но не в .net.
Этот тест не удается, но я не уверен, почему?
[Test]
public void RegExWorks()
{
var regex = new Regex("\\W[A-C]{3}");
Match match = regex.Match("ABC");
Assert.IsTrue(match.Success);
}
Да, ваше право, это действительно работает. Но, как ни странно, это не работает, когда я пытаюсь это сделать на http://gskinner.com/RegExr/ - я не уверен, какой из 3 ответов является лучшим? Все они работают – Robbie
Это довольно стандартный рег, поэтому я не уверен, почему он там не работает. Если вы перейдете на сайт reg ex, то есть ... –