C# 正则表达式字符串必须包含特殊字符

C# 正则表达式字符串必须包含特殊字符,c#,C#,我要检查的字符串必须具有特殊字符。我一直在论坛中寻找它,但我只找到了这个,这个对我没有帮助试试这个: ^.*(?=.*[@#$%^&+=(){}<>!~_*?]).*$ ^.*(=.[@#$%^&+=(){}!~.*?])*$ 当您 要检查,必须有一个特殊字符 您必须确定特殊字符是什么(例如,'{',选项卡,是特殊字符?)。有几个选项。让我们声明(肯定) 是唯一的特殊字符。在这种情况下,我们可以检查 string special = "#?!@$%^&*-";

我要检查的字符串必须具有特殊字符。我一直在论坛中寻找它,但我只找到了这个,这个对我没有帮助

试试这个:

^.*(?=.*[@#$%^&+=(){}<>!~_*?]).*$
^.*(=.[@#$%^&+=(){}!~.*?])*$
当您

要检查,必须有一个特殊字符

您必须确定特殊字符是什么(例如,
'{'
选项卡
是特殊字符?)。有几个选项。让我们声明(肯定)

是唯一的特殊字符。在这种情况下,我们可以检查

 string special = "#?!@$%^&*-";

 bool hasSpecial = Regex.IsMatch(source, $"[{Regex.Escape(special)}]+");
或(林克)

相反,我们可以说(否定声明)特殊字符是非字母数字的任何字符

或(林克)


如果该线程没有帮助,那么我认为您需要更多地解释您正在尝试做的事情。使用您已经尝试过的内容。欢迎使用SO…请参考以适合SO
[#?!@$%^&*-]
或类似方式提问的帮助
 string special = "#?!@$%^&*-";

 bool hasSpecial = Regex.IsMatch(source, $"[{Regex.Escape(special)}]+");
 bool hasSpecial = source.Any(c => special.Contains(c));
 bool hasSpecial = Regex.IsMatch(source, @"\W+");
 bool hasSpecial = source.Any(c => !char.IsLetterOrDigit(c));