C# MVC模型正则表达式验证不允许或排除某个字符

C# MVC模型正则表达式验证不允许或排除某个字符,c#,regex,asp.net-mvc,C#,Regex,Asp.net Mvc,我有一个用c#编写的mvc表单页面,当有人输入产品名称时,该名称中的任何地方都不能有下划线。我认为这方面的正则表达式非常简单,目前已经有了 [RegularExpression(@"[^\_]", ErrorMessage = "Underscores are not allowed in product names.")] 但是表单页面根本就没有加载,并且给出了这个错误 Additional information: parsing "[^\_]" - Unrecognized escape

我有一个用c#编写的mvc表单页面,当有人输入产品名称时,该名称中的任何地方都不能有下划线。我认为这方面的正则表达式非常简单,目前已经有了

[RegularExpression(@"[^\_]", ErrorMessage = "Underscores are not allowed in product names.")]
但是表单页面根本就没有加载,并且给出了这个错误

Additional information: parsing "[^\_]" - Unrecognized escape sequence \_.

所以我有两个问题,这个正则表达式的格式是否正确(显然不是,但是我如何修复它呢?),以及这个正则表达式是否能给出我想要的结果?

不需要转义下划线。使用正则表达式

^[^_]*$
它匹配所有不带下划线的字符串


查看正则表达式如何匹配

为什么不使用[^\uuz]*?这样就解决了问题,而且一切都很完美。非常感谢。