c# Regex第一个字母大写,其余字母小写

本文关键字:余字母 Regex 第一个 | 更新日期: 2023-09-27 18:07:18

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

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

c# Regex第一个字母大写,其余字母小写

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

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

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

如果我们稍微简化一下代码,我们得到:

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