C# C语言中的正则表达式#

C# C语言中的正则表达式#,c#,regex,C#,Regex,我正在尝试创建一个名称验证正则表达式,以检查名称是否以正确的格式传递。它的格式必须像-‘John’、‘Sarah’,所以,不允许有空格,不允许有其他字符,也不允许有数字。此外,第一个字母必须是大写字母,后面的所有其他字母必须是非大写字母 我尝试过编写一些正则表达式并在正则表达式上检查它们,但在那里工作的表达式在C中不能正常工作# 有人可以分享解决方案,排除任何其他字符,这不是一个字母 对我来说,在regexr上使用的regex和在C#中使用的regex之间似乎存在一些差异,这就是为什么在rege

我正在尝试创建一个名称验证正则表达式,以检查名称是否以正确的格式传递。它的格式必须像-‘John’、‘Sarah’,所以,不允许有空格,不允许有其他字符,也不允许有数字。此外,第一个字母必须是大写字母,后面的所有其他字母必须是非大写字母

我尝试过编写一些正则表达式并在正则表达式上检查它们,但在那里工作的表达式在C中不能正常工作#

有人可以分享解决方案,排除任何其他字符,这不是一个字母

对我来说,在regexr上使用的regex和在C#中使用的regex之间似乎存在一些差异,这就是为什么在regexr上工作的表达式在C中不工作的原因#

先谢谢你!:)

编辑: 例如: 表达式是-
([A-Z]{1}[A-Z]*)\w+
。 在regexr中,它必须是第一个大写字母,然后是任何其他字母,不包括所有空格或其他字符。当我把它复制到我的C#项目中时,它仍然允许写空格或其他符号,如,等等

编辑2: C#实现如下所示:

            string name = nameCapitalLetterCheck_textBox.Text.ToString();
            string nameFormat = @"([A-Z]{1}[a-z]*)\w+";
            if (Regex.IsMatch(name,nameFormat))
            {
                nameCapitalLetterCheck_result.Text = "OK";
                nameCapitalLetterCheck_result.Foreground = green;
                nameCapital_hint.Visibility = Visibility.Hidden;
            }
            else
            {
                nameCapitalLetterCheck_result.Text = "Error";
                nameCapitalLetterCheck_result.Foreground = red;
                nameCapital_hint.Visibility = Visibility.Visible;
            }
使用

解释

--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  \p{Lu}                    any uppercase character
--------------------------------------------------------------------------------
  \p{Ll}+                  any lowercase character (1 or more
                           times (matching the most amount possible))
--------------------------------------------------------------------------------
  \z                       the end of the string

就你的问题而言,你只是要求为你写一个正则表达式。相反,您应该展示您迄今为止所做的努力,并向我们提供遇到的问题的详细信息。您能分享一下您的C#实现是什么样子的吗?很抱歉,我忘了给出一个我尝试过的示例
Regex。如果在字符串中的任何位置发现与您的Regex匹配,IsMatch
将返回true。这并不一定意味着它匹配整个字符串。您应该考虑在正则表达式中使用
^
$
运算符。我很惊讶没有人指出这一点,但您对名称的重要性的要求非常严格。我的朋友帕特里克·奥康纳会生气的。非常感谢。这帮了大忙!
--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  \p{Lu}                    any uppercase character
--------------------------------------------------------------------------------
  \p{Ll}+                  any lowercase character (1 or more
                           times (matching the most amount possible))
--------------------------------------------------------------------------------
  \z                       the end of the string