C#Regex首字母资本其余小写

时间:2016-09-17 16:11:56

标签: c# regex

我正在尝试编写一个正则表达式,如果第一个字母大写,其余为小写,则返回true。但是,我写的方法总是返回false。我的正则表达式有什么问题,我应该做些什么改变。 这是我的代码。

public bool VerifyName(string name){
     Regex rgx = new Regex("^[A-Z][a-z]+$");
     return rgx.Equals(name);
}

1 个答案:

答案 0 :(得分:4)

您正在使用Equals方法,该方法会将 equality 的字符串与regex对象进行比较。这永远不会是真的,就像比较苹果和橘子一样。请改用IsMatch

您还可以通过添加Unicode支持来改进正则表达式:

^\p{Lu}\p{Ll}*$

如果我们稍微简化代码:

public bool VerifyName(string name)
    => Regex.IsMatch(name, @"^\p{Lu}\p{Ll}*$");