asp.net mvc正则表达式
上面的正则表达式限制了除\之外的所有特殊字符。如何限制它。将asp.net mvc正则表达式,asp.net,regex,asp.net-mvc,Asp.net,Regex,Asp.net Mvc,上面的正则表达式限制了除\之外的所有特殊字符。如何限制它。将\w替换为[a-zA-Z0-9]。快捷方式\w匹配任何单词字符,即字母数字字符和下划线 (@"^\w+(?: \w+){0,8}$" 一旦您确定了如何设置i标志(不区分大小写),就可以使用[a-z0-9]。使用 @"^[a-zA-Z0-9]+(?: [a-zA-Z0-9]+){0,8}$" 允许除\uu之外的所有\w匹配 \W表示“任何与\W不匹配的字符”,因此,将其放入一个求反字符类,并向该类添加一个\u,我们实际上是从\W中减去
\w
替换为[a-zA-Z0-9]
。快捷方式\w
匹配任何单词字符,即字母数字字符和下划线
(@"^\w+(?: \w+){0,8}$"
一旦您确定了如何设置i
标志(不区分大小写),就可以使用[a-z0-9]
。使用
@"^[a-zA-Z0-9]+(?: [a-zA-Z0-9]+){0,8}$"
允许除\uu
之外的所有\w
匹配
\W
表示“任何与\W
不匹配的字符”,因此,将其放入一个求反字符类,并向该类添加一个\u
,我们实际上是从\W
中减去\ucode>*
换句话说,[^\W\u]
意味着“匹配既不是字母数字字符也不是下划线的任何字符”
另一种方法(可能更明确、更容易理解)是使用Unicode属性:
@"^[^\W_]+(?: [^\W_]+){0,8}$"
其中,[\p{L}\p{N}]
表示“任何Unicode字母或数字”
*在.NET中,\w
速记比[a-Za-z0-9.]
匹配更多,尤其是国际(非ASCII)字母
@"^[\p{L}\p{N}]+(?: [\p{L}\p{N}]+){0,8}$"