WikiFunctions.Parse.RegExTypoFix.MakeRegexes C# (CSharp) Method

MakeRegexes() private method

private MakeRegexes ( ) : void
return void
        private void MakeRegexes()
        {
            try
            {
                Groups.Clear();
                TypoCount = 0;

                Groups.Add(new TypoGroup(20, @"^\\b(\(\[[A-M].*)\\b$", @"[^\\]\\\d", @"\b", @"\b"));
                Groups.Add(new TypoGroup(19, @"^\\b(\(\[[N-Z].*)\\b$", @"[^\\]\\\d", @"\b", @"\b"));
                Groups.Add(new TypoGroup(18, @"^\\b((\(|\[)?[A-Za-z].*)", @"[^\\]\\\d", @"\b", @""));
                Groups.Add(new TypoGroup(5, null, @"[^\\]\\\d", "", ""));
                Groups.Add(new TypoGroup(1, null, null, "", ""));

                Dictionary<string, string> typoStrings = Source.GetTypos();

                TyposLoaded = typoStrings.Count > 0;

                if (TyposLoaded)
                {
                    foreach (KeyValuePair<string, string> rule in typoStrings)
                    {
                        foreach (TypoGroup grp in Groups)
                        {
                            if (grp.IsSuitableTypo(rule.Key))
                            {
                                grp.Add(rule.Key, rule.Value);
                                TypoCount++;
                                break;
                            }
                        }
                    }

                    foreach (TypoGroup grp in Groups)
                        grp.MakeGroups();
                }
            }
            catch (TypoException)
            {
                Groups.Clear();
                TypoCount = 0;
                TyposLoaded = false;
            }
            catch (Exception ex)
            {
                TyposLoaded = false;
                ErrorHandler.HandleException(ex);
            }
            finally
            {
                if (Complete != null) Complete(TypoThread);
            }
        }