我要检查的字符串必须具有特殊字符。我一直在论坛里寻找它,但我发现只有thread这对我没有帮助
答案 0 :(得分:1)
当你
想要检查必须有特殊字符
你必须决定特殊字符是什么(例如'{'
,TAB
,.
是特殊字符吗?)。有几种选择。让我们声明(肯定)
#?!@$%^&*-
是唯一的特殊字符。在这种情况下,我们可以检查
string special = "#?!@$%^&*-";
bool hasSpecial = Regex.IsMatch(source, $"[{Regex.Escape(special)}]+");
或( Linq )
bool hasSpecial = source.Any(c => special.Contains(c));
相反,我们可以说(否定声明)特殊字符是不是字母数字的任何人。
bool hasSpecial = Regex.IsMatch(source, @"\W+");
或( Linq )
bool hasSpecial = source.Any(c => !char.IsLetterOrDigit(c));
答案 1 :(得分:0)
试试这个:
^.*(?=.*[@#$%^&+=(){}<>!~_*?]).*$