正则表达式用于字母数字和特殊字符

我需要定义一个接受字母数字和以下特殊字符的正则表达式:@#$%&*()-_ +] [‘;:?。,!

我想出来了:

string pattern = @"[a-zA-Z0-9@#$%&*+\-_(),+':;?.,![]\s\\/]+$"; 

但这似乎并没有奏效。 有人可以让我知道缺少什么吗?

中间的[]需要转义*:

 \[\] 

您也可能希望使用^来锚定字符串的开头。


*可能只是]但我喜欢两者兼顾平衡。

在定义一个字符类时,你需要在其中转义结束括号,就像“ ^ ”,“ - ”和你正确完成的转义序列\本身一样:

 string pattern = @"[a-zA-Z0-9@#$%&*+\-_(),+':;?.,![\]\s\\/]+$"; ^ ^ ^ 

其中一些角色需要转义(*,+等)。 最简单的方法是简单地将它们全部转义:

 string pattern = @"[a-zA-Z0-9\@\#\$\%\&\*\(\)\-\_\+\]\[\'\;\:\?\.\,\!]+$";