gpt4 book ai didi

c# - 一个正则表达式,允许一个字符串只有一个大写字母

转载 作者:行者123 更新时间:2023-11-30 13:34:38 25 4
gpt4 key购买 nike

字符串的长度应为 6 - 20 个字符。它应该包含 1 个大写字母。

我可以使用 C# 在代码中执行此操作:

string  st = "SomeString"

Regex rg = new Regex("[A-Z]");
MatchCollection mc = rg.Matches(st);

Console.WriteLine("Total Capital Letters: " + mc.Count);

if (mc.Count > 1)
{
return false;
}

但我真正想要的是一个正则表达式,如果它只包含一个大写字母,它将匹配我的字符串。字符串可以以普通字母开头,并且应该只有字母。

最佳答案

这个将匹配包含小写字母的字符串,然后是单个大写字母,然后是更多小写字母。

^[a-z]*[A-Z][a-z]*$

您可以根据需要调整第一部分和最后一部分以包含其他字符,具体取决于您所需的字符域。

对于所有长度为 6 到 20 的字符串,只包含字母且最多包含一个大写字母,您可以使用 lookaheads:

(?=^[a-zA-Z]{6,20}$)^[a-z]*[A-Z][a-z]*$

关于c# - 一个正则表达式,允许一个字符串只有一个大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2602993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com