正则表达式除了这个字符

d.S*_*iva 6 c# regex

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

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

到目前为止,我尝试过:

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

Jen*_*ens 11

目前,您只允许包含这些字母的字符串.

使用

"^[^<>.!@#%/]+$"
Run Code Online (Sandbox Code Playgroud)


age*_*nzo 10

让正则表达式选择插入符号列出的字符以外的任何字符:

[^abc] 
Run Code Online (Sandbox Code Playgroud)

将匹配任何不是a,b或c的东西.

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

^[^<>!@#%/?*]+$
Run Code Online (Sandbox Code Playgroud)

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

  • 您不需要在字符类中转义正则表达式元字符(反斜杠和右括号除外). (2认同)