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));