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

dot*_*bie 3 c# regex vb.net

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

我想出来:

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

但这似乎并没有起作用.有人可以让我知道缺少什么吗?

Ry-*_*Ry- 10

[]中间需要进行转义*:

\[\]
Run Code Online (Sandbox Code Playgroud)

你也可能想用一个锚定字符串的开头^.


*可能只是]但我喜欢两者兼顾.


Ber*_*rgi 6

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

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