正则表达式除了这个字符

时间:2012-09-14 10:22:07

标签: c# regex

我正在使用MVC数据注释,我的要求是地址字段可以包含除< > . ! @ # % / ? *之外的任何字符(即除了英文字符以外)。

我搜索了很多网站但没有得到如何编写这个正则表达式。

到目前为止,我已经尝试过:

[Required(ErrorMessage = "Address Required.")]
[RegularExpression(@"^[<>.!@#%/]+$", ErrorMessage = "Address invalid.")]
public string Address { get; set; }

4 个答案:

答案 0 :(得分:11)

目前,您只允许字符串仅包含这些字母。

使用

"^[^<>.!@#%/]+$"

答案 1 :(得分:10)

让你的正则表达式选择任何字符以下插入的字符:

[^abc] 

将匹配任何不是a,b或c的内容。

所以把它们放在一起,你的正则表达式就是

^[^<>!@#%/?*]+$

请注意,方括号外的插入符号表示“匹配行的开头”,但方括号内表示“匹配任何以下任何内容”

答案 2 :(得分:1)

尝试是正则表达式:

[^<>.!@#%/?*]

答案 3 :(得分:1)

这应该做的工作:

  

“[^&LT;&GT;!@#%/]”

修改

。 (点)是正则表达式中的保留字符,因此您需要将其转义。