正则表达式 - 如何创建

KWo*_*dra 1 c# regex data-annotations

我正在寻找一个正则表达式,我的在线研究带我到处都是.这是我要做的事情:

[Required]
[RegularExpression("MyRegExString", ErrorMessage = "Use only valid characters.")]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想允许我的用户输入任何字母字符(大写或小写),数字,空格,只有_(下划线),$,#,*,(,),+,@,(逗号),和'(撇号).

谁能帮我生成这个字符串?

Mar*_*der 5

只需将它们全部输入到一个字符类中,并要求它们整个字符串由此类中的字符组成(分别在开头和结尾放置^$锚点):

"^[a-zA-Z0-9_ $#*()+@,']*$"
Run Code Online (Sandbox Code Playgroud)

正则表达式还有一个内置字符类\w,它匹配字母(大写和小写),数字或下划线,允许这个稍短的版本:

"^[\w $#*()+@,']*$"
Run Code Online (Sandbox Code Playgroud)

如果要禁止空字符串,请使用+而不是*最后.