我需要定义一个接受字母数字和以下特殊字符的正则表达式: @#$%&安培; *()-_ +] [';:?!,
我想出了:
string pattern = @"[a-zA-Z0-9@#$%&*+\-_(),+':;?.,![]\s\\/]+$";
但这似乎不起作用。有人可以让我知道缺少什么吗?
答案 0 :(得分:10)
中间的[]
需要转义*:
\[\]
您可能还希望使用^
锚定字符串的开头。
*可能只是]
,但我喜欢两者兼顾。
答案 1 :(得分:6)
定义字符类时,您需要转义结束括号]
,就像" ^
"," -
& #34;以及你已正确完成的转义序列\
本身:
string pattern = @"[a-zA-Z0-9@#$%&*+\-_(),+':;?.,![\]\s\\/]+$";
^ ^ ^
答案 2 :(得分:3)
其中一些角色需要转义(*,+等)。最简单的方法是简单地逃避它们:
string pattern = @"[a-zA-Z0-9\@\#\$\%\&\*\(\)\-\_\+\]\[\'\;\:\?\.\,\!]+$";