Regex 字母数字和下划线c的正则表达式#
我正在使用ASP.NET MVC 5应用程序,我想在其中为名称字段添加dataannotation验证 只接受数字、字符和分数不足的任意组合 我试过了,但没有成功:Regex 字母数字和下划线c的正则表达式#,regex,asp.net-mvc-5,data-annotations,Regex,Asp.net Mvc 5,Data Annotations,我正在使用ASP.NET MVC 5应用程序,我想在其中为名称字段添加dataannotation验证 只接受数字、字符和分数不足的任意组合 我试过了,但没有成功: RegularExpression("([a-zA-Z0-9_ .&'-]+)", ErrorMessage = "Invalid.")] 请尝试在regexr.com网站下编写此正则表达式 标准-字母数字、下划线和空格 ([a-zA-Z0-9\\ s]+)您使用的是a,即方括号之间的东西([a-zA-Z0-9\.&'-
RegularExpression("([a-zA-Z0-9_ .&'-]+)", ErrorMessage = "Invalid.")]
请尝试在regexr.com网站下编写此正则表达式 标准-字母数字、下划线和空格 ([a-zA-Z0-9\\ s]+)您使用的是a,即方括号之间的东西(
[a-zA-Z0-9\.&'-]
)。在该方括号内,您可以定义该类应匹配的所有字符。所以,现在很容易了:你允许你不想匹配的字符
根据您的“尝试”,您可以将此更改为
[a-zA-Z0-9_]
这似乎就是你想要匹配的角色。但这真的是你需要的吗?这真的是该字段可以使用的唯一字符吗
如果是,那么你就完成了
如果否,您可能希望添加所有语言的所有字符。幸运的是,有一个解决方案:
\p{L}
所有字母字符
还有一个预定义的组可能对您有用:
\w
匹配任何单词字符(定义也可以在第一个链接中找到,包括Unicode类别Ll、Lu、Lt、Lo、Lm、Nd、Pc,基本上是[a-zA-Z0-9],但Unicode样式包含所有字母和更多连接字符)
但是,如果你想匹配真名,这并不能涵盖所有可能的名字。关于这个主题,我有另一个答案请给出一个未正确验证的输入示例?Karan,但现在我的要求已更改,现在我希望按照堆栈溢出最佳实践将其用于字母数字、下划线和空格-请在此处输入答案,而不是依赖外部链接,谢谢。