我正在使用以下表达式。
\W[A-C]{3}
目标是匹配 A 和 C 之间任何前面没有任何字符的任意字符中的 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);
}
最佳答案
像这样怎么样:
^[A-C]{3}
这很简单,但似乎符合您的要求,我在 rubular.com 和 .NET 中测试了它
关于c# - 正则表达式在 .net 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644228/