using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var strs = new List { "PassWord", "PAssword", "PASSWord"}; var n = 2; var pat = $@"^(?:[^A-Z]*[A-Z]){{{n}}}[^A-Z]*$"; foreach (var s in strs) { Console.WriteLine("{0}: {1}", s, Regex.IsMatch(s, pat)); } } }