C# 只检查字母的正则表达式模式

C# 只检查字母的正则表达式模式,c#,regex,C#,Regex,我需要检查字符串是否只包含字母而不包含数字或特殊字符。我使用下面的正则表达式模式 String validText = "^[a-zA-Z-]+$"; 对于“狮子座”来说,它的工作很好,但是如果它像“狮子座1”,它就不能正常工作 有人知道吗?我希望您可以使用LinQ input作为测试字符串 bool result = input.All(Char.IsLetter); 否则,当Gordon发布正确的正则表达式时 ^[a-zA-z]+$ 您可以尝试使用这个正则表达式 /^[A-Za-z]+

我需要检查字符串是否只包含字母而不包含数字或特殊字符。我使用下面的正则表达式模式

String validText = "^[a-zA-Z-]+$";
对于“狮子座”来说,它的工作很好,但是如果它像“狮子座1”,它就不能正常工作


有人知道吗?

我希望您可以使用LinQ input作为测试字符串

bool result = input.All(Char.IsLetter);
否则,当Gordon发布正确的正则表达式时

^[a-zA-z]+$

您可以尝试使用这个正则表达式

/^[A-Za-z]+$/


这将只匹配字符串中的字母。

请尝试:^[-a-zA-z]+$。您的模式应为^[a-zA-z]+$。你有一个额外的连字符将匹配-字面上。戈登:不为Leo1工作和不为Leo1工作是一样的,你的意思是Leo1应该是无效的,而你现在的正则表达式认为它是有效的?@埃弗顿:这是我的错……它工作得很好。为什么投反对票?你的正则表达式错了。不过,我个人喜欢LINQ选项。不知道性能如何比较。