I’m using the following expression.
\W[A-C]{3}
The objective is to match 3 characters of anything between A and C that don’t have any characters before them. So with input “ABC” it matches but “DABC” does not.
When i try this expression using various online regex tools (eg. http://gskinner.com/RegExr/), it works perfectly. When i try to use it in an asp.net RegularExpressionValidator or with the RegEx class, it never matches anything.
I’ve tried various different methods of not allowing a character before the match. eg.
[^\w] and [^a-zA-Z0-9]
all work in the online tools, but not in .net.
This test fails, but i’m not sure why?
[Test]
public void RegExWorks()
{
var regex = new Regex("\\W[A-C]{3}");
Match match = regex.Match("ABC");
Assert.IsTrue(match.Success);
}
How about something like this:
It is simple, but seems to fit what you are asking, and I tested it in rubular.com and .NET