字符串长度应为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;
}
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是一个正则表达式,它将匹配我的字符串,如果它只包含一个大写字母.字符串可以以普通字母开头,并且只能包含字母.
这个匹配包含小写字母的字符串,然后是单个大写字母,然后是更小写的字母.
^[a-z]*[A-Z][a-z]*$
Run Code Online (Sandbox Code Playgroud)
您可以根据需要调整第一个和最后一个部分以包含其他字符,具体取决于您所需的字符域.
对于长度为6到20且仅包含字母且最多只有一个大写字母的所有字符串,您可以使用前瞻:
(?=^[a-zA-Z]{6,20}$)^[a-z]*[A-Z][a-z]*$
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5484 次 |
最近记录: |