c# - 正则表达式在 .net 中不起作用

标签 c# asp.net regex validation

我正在使用以下表达式。

\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/

相关文章:

c# - 生成的 WCF 代理配置使用服务器的本地名称

c# - 第二个用户登录时 ContextSessionSecurityToken 被覆盖

jquery - 将 Bootstrap Carousel 转换为 ASP.Net Repeater

c# - 使用存储过程 (SQL 2000) 在 C# 中实现分页

python - 如何用 Python 中的空格替换文本中的特殊字符?

regex - 紧跟在关键字之后选择单词

Ruby 正则表达式不匹配

c# - LINQ group by 多个计数

c# - 为什么此查询返回 System.InvalidOperationException

c# - 在DetailsView的TemplateField中查找用户控件