public void MakeGroups()
{
if (GroupSize <= 1) return;
Groups = new List<Regex>(5);
for (int n = 0; n < (Typos.Count - 1) / GroupSize + 1; n++)
{
string s = "";
for (int i = 0; i < Math.Min(GroupSize, Typos.Count - n * GroupSize); i++)
{
string typo = Typos[n * GroupSize + i].Key.ToString();
if (Allow != null) typo = Allow.Match(typo).Groups[1].Value;
s += (s.Length == 0 ? "" : "|") + typo;
}
if (s.Length > 0)
{
Groups.Add(new Regex(Prefix + "(" + s + ")" + Postfix, RegexOptions.Compiled));
}
}
}