User:Magioladitis/WikiProjects

// Bypasses WikiProject banner redirects. This optimises AWB's talk page general fixes
public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
 {
  Skip = false;
  Summary = "";
//WikiProject (Active projects); Cleanup redirects
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Archives[ _]+of[ _]+American[ _]+Art|WPAAA|WikiProject[ _]+AAA) *\r?([\|}{<\n])", "{{WikiProject Archives of American Art$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Abortion|WPAbortion|WPAbortion\-category|WPAbortion\-image|WPAbortion\-template) *\r?([\|}{<\n])", "{{WikiProject Abortion$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Abu[ _]+Dhabi) *\r?([\|}{<\n])", "{{WikiProject United Arab Emirates|Abu Dhabi=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Academic[ _]+Journals|WP[ _]+Journals|WPJournals|WPJOURNAL|WikiProject[ _]+Academic[ _]+journals|WikiProject[ _]+Journals|WP[ _]+Academic[ _]+Journals) *\r?([\|}{<\n])", "{{WikiProject Academic Journals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Accessibility|Wikiproject[ _]+Accessibility) *\r?([\|}{<\n])", "{{WikiProject Accessibility$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Adelaide|WPANotice) *\r?([\|}{<\n])", "{{WikiProject Adelaide$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Adoption,[ _]+fostering,[ _]+orphan[ _]+care[ _]+and[ _]+displacement|WP[ _]+AFOD|WP[ _]+OAR|WPAFOD|WPO\&F|WikiProject[ _]+Orphans[ _]+and[ _]+Foundlings) *\r?([\|}{<\n])", "{{WikiProject Adoption, fostering, orphan care and displacement$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Aerosmith|WPAERO|AERO) *\r?([\|}{<\n])", "{{WikiProject Aerosmith$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Afghanistan|WPAFGHAN|WPAFGHANISTAN|WP[ _]+Afghanistan) *\r?([\|}{<\n])", "{{WikiProject Afghanistan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Africa|Africa[ _]+Project|Africa[ _]+noticeboard|AfricaProject|WPAFRICA|WPAfrica|WP[ _]+Africa) *\r?([\|}{<\n])", "{{WikiProject Africa$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+African[ _]+diaspora|AFRO|Project[ _]+afro|WPAD|WPAFRICANDIASPORA|WPAFRO|WikiProject[ _]+African[ _]+Diaspora|WP[ _]+African[ _]+Diaspora) *\r?([\|}{<\n])", "{{WikiProject African diaspora$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Agriculture|WP[ _]+Agriculture|WP[ _]+Farm[ _]+Animal|WPAgriculture|WPFARM|WPFarm|WikiProject[ _]+Beekeeping) *\r?([\|}{<\n])", "{{WikiProject Agriculture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+AIDS|WikiProject[ _]+Aids) *\r?([\|}{<\n])", "{{WikiProject AIDS$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Airsoft|WikiAirsoft) *\r?([\|}{<\n])", "{{WikiProject Airsoft$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alabama|WP[ _]+Alabama|WPAlabama|WPALABAMA) *\r?([\|}{<\n])", "{{WikiProject Alabama$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Åland[ _]+Islands|WikiProject[ _]+Aland[ _]+Islands) *\r?([\|}{<\n])", "{{WikiProject Åland Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alaska|WPALASKA|Project[ _]+Alaska|WP[ _]+Alaska) *\r?([\|}{<\n])", "{{WikiProject Alaska$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Albania|WPALBANIA|WikiProject[ _]+Albania|WPALB|Wikiproject[ _]+Albania|WPSQ|WP[ _]+Albania) *\r?([\|}{<\n])", "{{WikiProject Albania$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Albums?|Albums?|WP[ _]+Albums|WPAlbums|WPALBUM) *\r?([\|}{<\n])", "{{WikiProject Albums$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Algae|WP[ _]+Algae) *\r?([\|}{<\n])", "{{WikiProject Algae$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Algeria|WP[ _]+Algeria|WPALGERIA) *\r?([\|}{<\n])", "{{WikiProject Algeria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alien|AlienProject) *\r?([\|}{<\n])", "{{WikiProject Alien$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alternate[ _]+History|Alternate[ _]+History[ _]+WikiProject) *\r?([\|}{<\n])", "{{WikiProject Alternate History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alternative[ _]+education|WikiProject[ _]+Alternative[ _]+Education) *\r?([\|}{<\n])", "{{WikiProject Alternative education$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alternative[ _]+medicine|WikiProject[ _]+Alternative[ _]+Medicine|WPALTMED|Wpaltmed) *\r?([\|}{<\n])", "{{WikiProject Alternative medicine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Alternative[ _]+music|Altrock|WP[ _]+Alternative[ _]+music|WPAlternative|WikiProject[ _]+Alternative[ _]+Music|WikiProject[ _]+Alternative[ _]+rock|Wikiproject[ _]+Alternative[ _]+Music|Wikiproject[ _]+Alternative[ _]+music|WPALT) *\r?([\|}{<\n])", "{{WikiProject Alternative music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Amateur[ _]+radio|WP[ _]+Amateur[ _]+Radio|WPHAM|WikiProject[ _]+Amateur[ _]+Radio|Wikiproject[ _]+Amateur[ _]+Radio) *\r?([\|}{<\n])", "{{WikiProject Amateur radio$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+American[ _]+Football[ _]+League|American[ _]+Football[ _]+League[ _]+project) *\r?([\|}{<\n])", "{{WikiProject American Football League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+American[ _]+football|WP[ _]+American[ _]+Football|WPAmerican[ _]+Football|WPAmericanFootball|American[ _]+football|WikiProject[ _]+American[ _]+Football) *\r?([\|}{<\n])", "{{WikiProject American football$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+American[ _]+Open[ _]+Wheel[ _]+Racing|Open[ _]+Wheel) *\r?([\|}{<\n])", "{{WikiProject American Open Wheel Racing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Amphibians[ _]+and[ _]+Reptiles|AARTalk) *\r?([\|}{<\n])", "{{WikiProject Amphibians and Reptiles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Amusement[ _]+ Parks|AmusementParkProject|AmusementParksProject|WikiProject[ _]+Amusement[ _]+parks|WikiProject[ _]+amusement[ _]+park) *\r?([\|}{<\n])", "{{WikiProject Amusement Parks$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anatomy|WP[ _]+Anatomy|WPANAT|WPAN) *\r?([\|}{<\n])", "{{WikiProject Anatomy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ancient[ _]+Egypt|WikiProject[ _]+Egyptian[ _]+Religion|KMTbanner|ANEGY|AncientEgyptBanner) *\r?([\|}{<\n])", "{{WikiProject Ancient Egypt$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ancient[ _]+Germanic[ _]+studies|WPAGS) *\r?([\|}{<\n])", "{{WikiProject Ancient Germanic studies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ancient[ _]+Near[ _]+East|WP[ _]+ANE|WP[ _]+Ancient[ _]+Near[ _]+East|WPANE) *\r?([\|}{<\n])", "{{WikiProject Ancient Near East$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Andorra) *\r?([\|}{<\n])", "{{WikiProject European Microstates|Andorra=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anglicanism|WP[ _]+Anglicanism|WPANGLICANISM|Anglicanismproject) *\r?([\|}{<\n])", "{{WikiProject Anglicanism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anglo-Saxon[ _]+Kingdoms|WPASK) *\r?([\|}{<\n])", "{{WikiProject Anglo-Saxon Kingdoms$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Angola) *\r?([\|}{<\n])", "{{WikiProject Africa|Angola=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Animal[ _]+rights|WPAR|Wiki[ _]+Project[ _]+Animal[ _]+Rights|WikiProject[ _]+Animal[ _]+Rights|Wikiproject[ _]+animal[ _]+rights) *\r?([\|}{<\n])", "{{WikiProject Animal rights$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Animals|Animal|Animals|WP[ _]+Animals|WP[ _]+Zoology|WPANIMAL|WikiProject[ _]+Zoology) *\r?([\|}{<\n])", "{{WikiProject Animals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Animation|USAnimation|WikiProject[ _]+American[ _]+Animation|WikiProject[ _]+Web[ _]+Animation|WikiProject[ _]+Web[ _]+Animation[ _]+Author|WP[ _]+Animation|WPANIMATION|WPCARTOON) *\r?([\|}{<\n])", "{{WikiProject Animation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anime[ _]+and[ _]+manga|WP[ _]+anime[ _]+and[ _]+manga|WPANIMANGA|WPANIME|WP[ _]+Anime|WPAnime|WPMANGA|WPManga|WikiProject[ _]+Animanga|WikiProject[ _]+Anime|WikiProject[ _]+Anime[ _]+and[ _]+Manga|WikiProject[ _]+Manga|WikiProject[ _]+Manga[ _]+and[ _]+anime|WikiProject[ _]+anime[ _]+and[ _]+manga|Wikiproject[ _]+Anime[ _]+and[ _]+Manga|Wikiproject[ _]+Anime[ _]+and[ _]+manga|Wikiproject[ _]+anime[ _]+and[ _]+manga) *\r?([\|}{<\n])", "{{WikiProject Anime and manga$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Antarctica|WP[ _]+Antarctica) *\r?([\|}{<\n])", "{{WikiProject Antarctica$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anthropology|WPAnthro|WP[ _]+Anthropology) *\r?([\|}{<\n])", "{{WikiProject Anthropology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Anthroponymy|WP[ _]+Names|WPNAMES|Anthroponymy|WP[ _]+Anthroponymy|WPAnthroponymy|WP[ _]+APO) *\r?([\|}{<\n])", "{{WikiProject Anthroponymy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Antigua[ _]+and[ _]+Barbuda|WP[ _]+Antigua[ _]+and[ _]+Barbuda) *\r?([\|}{<\n])", "{{WikiProject Antigua and Barbuda$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Appalachia|AppalachiaProject|WPAPPALACHIA) *\r?([\|}{<\n])", "{{WikiProject Appalachia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Apple[ _]+Inc\.|MacProjectArticle|Macproj|Macprojectarticle|WP[ _]+Apple|WP[ _]+Apple[ _]+Inc\.|WikiProject[ _]+Apple|WikiProject[ _]+Mac|WikiProject[ _]+Macintosh) *\r?([\|}{<\n])", "{{WikiProject Apple Inc.$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Aquarium[ _]+Fishes|WikiProject[ _]+aquarium[ _]+fishes) *\r?([\|}{<\n])", "{{WikiProject Aquarium Fishes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Aquatic[ _]+Invertebrates|WikiprojectAquaticInverts|WikiProject[ _]+AquaticInverts) *\r?([\|}{<\n])", "{{WikiProject Aquatic Invertebrates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arab[ _]+world|WPARAB|WP[ _]+Arab[ _]+world) *\r?([\|}{<\n])", "{{WikiProject Arab world$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Archaeology|ArchaeologyWikiProject|ArcheologyWikiProject|WPARCHAEOLOGY|WPARCHEOLOGY|WP[ _]+Archaeology|WP[ _]+Archeology|WikiProject[ _]+Archeology) *\r?([\|}{<\n])", "{{WikiProject Archaeology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Architecture|Architecture|WP[ _]+Architecture|WPARCHITECTURE|WPARCHICTECTURE|WikiProject[ _]+Buildings|WPBUILDINGS) *\r?([\|}{<\n])", "{{WikiProject Architecture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arctic|WP[ _]+Arctic|WPARCTIC) *\r?([\|}{<\n])", "{{WikiProject Arctic$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*((?:WP|WikiProject)[ _]+Arena[ _]+Football[ _]+League|Wikipedia:Wikiproject[ _]+Arena[ _]+Football[ _]+League|Wikiproject[ _]+Arena[ _]+Football[ _]+League) *\r?([\|}{<\n])", "{{WikiProject Arena Football League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Argentina|WPARGENTINA|WP[ _]+Argentina|WPArgentina|WPArg|Argentina|WP[ _]+Argentine) *\r?([\|}{<\n])", "{{WikiProject Argentina$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arizona|WPARIZONA|WP[ _]+AZ|WP[ _]+Arizona) *\r?([\|}{<\n])", "{{WikiProject Arizona$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arkansas|WikiProject[ _]+Arkansas[ _]+category|WPARKANSAS|WP[ _]+Arkansas) *\r?([\|}{<\n])", "{{WikiProject Arkansas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Armenia|WPARMENIA|WPNK|WPAM|WP[ _]Armenia) *\r?([\|}{<\n])", "{{WikiProject Armenia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Artemis[ _]+Fowl|WPArtemisFowl) *\r?([\|}{<\n])", "{{WikiProject Artemis Fowl$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arthropods|Arth|WPARTH|WP[ _]+Arthropods|ArthropodTalk) *\r?([\|}{<\n])", "{{WikiProject Arthropods$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Article[ _]+Collaboration[ _]+and[ _]+Improvement[ _]+Drive|ACIDcur\/article) *\r?([\|}{<\n])", "{{WikiProject Article Collaboration and Improvement Drive$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Articles[ _]+for[ _]+creation|WPAFC|WPFFU|WikiProject[ _]+Articles[ _]+for[ _]+Creation) *\r?([\|}{<\n])", "{{WikiProject Articles for creation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Arts|WikiProject[ _]+Art|WP[ _]+Arts) *\r?([\|}{<\n])", "{{WikiProject Arts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Aruba) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Aruba=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Asia|WP[ _]+Asia|WPASIA) *\r?([\|}{<\n])", "{{WikiProject Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Assam|WPASM) *\r?([\|}{<\n])", "{{WikiProject Assam$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Assyria|WPAP|WP[ _]+Assyria) *\r?([\|}{<\n])", "{{WikiProject Assyria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Astrology|WikiProject[ _]+astrology|Astrology[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Astrology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Astronomy|Astronomy|WP[ _]+Astronomy|WPAST|WPASTRONOMY|WPAstronomy|WPTFConstel) *\r?([\|}{<\n])", "{{WikiProject Astronomy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Atheism|WPATH|WPA|Wpa|WP[ _]+Atheism) *\r?([\|}{<\n])", "{{WikiProject Atheism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Athletics|WP[ _]+Athletics|WPAtheletics|WPAthletics) *\r?([\|}{<\n])", "{{WikiProject Athletics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Atlanta) *\r?([\|}{<\n])", "{{WikiProject Georgia (U.S. state)|atlanta=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Atlantic[ _]+Coast[ _]+Conference|WikiProject[ _]+ACC) *\r?([\|}{<\n])", "{{WikiProject Atlantic Coast Conference$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Auckland|WikiProject[ _]+Auckland[ _]+banner|Auckland|AUCK) *\r?([\|}{<\n])", "{{WikiProject Auckland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Australian[ _]+Roads|WP[ _]+AURD|AURD) *\r?([\|}{<\n])", "{{WikiProject Australian Roads$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Australia|WP[ _]+Australia|WP[ _]+Australian[ _]+music|WPAUS|WPAUSTRALIA|WPAustralia) *\r?([\|}{<\n])", "{{WikiProject Australia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Australian[ _]+law|WPAL) *\r?([\|}{<\n])", "{{WikiProject Australian law$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Austria|Wikiproject[ _]+Austria|WPAUSTRIA|WP[ _]+Austria|Wpau) *\r?([\|}{<\n])", "{{WikiProject Austria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Autism|WPAUTISM) *\r?([\|}{<\n])", "{{WikiProject Autism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Automobiles|Auto|AutoProject|AutomobileWatch|WP[ _]+Auto|WP[ _]+Automobiles|WP[ _]+Cars|WPAUTO|WPAUTOMOBILES|WPAuto|WPCARS|WPCars|WPCAR|WikiProject[ _]+Cars) *\r?([\|}{<\n])", "{{WikiProject Automobiles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Aviation|AirlineProject|AircraftProject|WPAIR|WPAviation|WP[ _]+Aviation|WikiProject[ _]+Aircraft|WPAVIATION|WPAV) *\r?([\|}{<\n])", "{{WikiProject Aviation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Awards|WikiProject[ _]+Awards[ _]+and[ _]+prizes|WP[ _]+Awards|WPAWARDS?) *\r?([\|}{<\n])", "{{WikiProject Awards$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Azerbaijan|WP[ _]+Azerbaijan|WPAZ|WPAZERBAIJAN) *\r?([\|}{<\n])", "{{WikiProject Azerbaijan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Backpacking|BackpackingProject) *\r?([\|}{<\n])", "{{WikiProject Backpacking$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Badminton|WP[ _]+Badminton) *\r?([\|}{<\n])", "{{WikiProject Badminton$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bagpipes|WikiProject[ _]+Pipe[ _]+Bands|WP[ _]+Pipe[ _]+Bands) *\r?([\|}{<\n])", "{{WikiProject Bagpipes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bahamas) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Bahamas=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bahá'í[ _]+Faith|WikiProject[ _]+Bahai[ _]+Faith|WPBF) *\r?([\|}{<\n])", "{{WikiProject Bahá'í Faith$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bahrain|WP[ _]+Bahrain) *\r?([\|}{<\n])", "{{WikiProject Bahrain$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ballet|WikiProject[ _]+ballet|WPBallet|WP[ _]+Ballet) *\r?([\|}{<\n])", "{{WikiProject Ballet$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Balzac|Balzac) *\r?([\|}{<\n])", "{{WikiProject Balzac$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bangladesh|WPBANGLADESH|WP[ _]+Bangladesh) *\r?([\|}{<\n])", "{{WikiProject Bangladesh$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bangladesh[ _]+Premier[ _]+League|WP[ _]+BPL|WPBPL) *\r?([\|}{<\n])", "{{WikiProject Bangladesh Premier League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Banksia|WP[ _]+Banksia) *\r?([\|}{<\n])", "{{WikiProject Banksia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Barack[ _]+Obama|Obama[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Barack Obama$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Baseball|Baseball-WikiProject|WP[ _]+Baseball|WPBASEBALL|WPMLB|WP[ _]+Softball) *\r?([\|}{<\n])", "{{WikiProject Baseball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Basketball|Basketball-WikiProject|WPBasketball|WP[ _]+Basketball|WPBASKET|WPHOOPS|WikiProject[ _]+basketball|WPBB|WPBBALL) *\r?([\|}{<\n])", "{{WikiProject Basketball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Basque|WPBasque) *\r?([\|}{<\n])", "{{WikiProject Basque$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bavaria|WP[ _]+Bavaria) *\r?([\|}{<\n])", "{{WikiProject Bavaria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+BBC|BBCProject|BBCproject|WP[ _]+BBC|WPBBC) *\r?([\|}{<\n])", "{{WikiProject BBC$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Beauty[ _]+Pageants|WikiProject[ _]+Beauty[ _]+pageants) *\r?([\|}{<\n])", "{{WikiProject Beauty Pageants$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bedfordshire|WP[ _]+Bedfordshire) *\r?([\|}{<\n])", "{{WikiProject Bedfordshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Beer|WP[ _]+Beer|WPBEER|Beer|TaskForce[ _]+Pubs) *\r?([\|}{<\n])", "{{WikiProject Beer$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Belarus|WPBELARUS|WPBelarus|WP[ _]+Belarus) *\r?([\|}{<\n])", "{{WikiProject Belarus$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Belfast|WP[ _]+Belfast[ _]+notice|WPBelNotice|WPBelfast|WikiProject[ _]+Belfast\-related) *\r?([\|}{<\n])", "{{WikiProject Belfast$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Belgium|WPBELGIUM|WPBelgium|WP[ _]+Belgium|Wpbelgium) *\r?([\|}{<\n])", "{{WikiProject Belgium$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Belgrade|WPBelgrade) *\r?([\|}{<\n])", "{{WikiProject Belgrade$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Belize) *\r?([\|}{<\n])", "{{WikiProject Belize$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Benin) *\r?([\|}{<\n])", "{{WikiProject Africa|Benin=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Berbers|WPBERBER) *\r?([\|}{<\n])", "{{WikiProject Berbers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Berkshire|WP[ _]+Berkshire) *\r?([\|}{<\n])", "{{WikiProject Berkshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Beyoncé[ _]+Knowles|WPBK) *\r?([\|}{<\n])", "{{WikiProject Beyoncé Knowles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bhutan|WP[ _]+Bhutan) *\r?([\|}{<\n])", "{{WikiProject Bhutan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Biathlon|WP Biathlon|Biathlon) *\r?([\|}{<\n])", "{{WikiProject Biathlon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bible|WP[ _]+Bible|WikiProject[ _]+Biblical[ _]+Criticism|BibleWikiProject|Wpbible) *\r?([\|}{<\n])", "{{WikiProject Bible$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Big[ _]+12[ _]+Conference|WikiProject[ _]+Big[ _]+12) *\r?([\|}{<\n])", "{{WikiProject Big 12 Conference$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Big[ _]+Brother|Big[ _]+Brother[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Big Brother$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Biography|WPBiography|Bio|Biography|WP[ _]+Biography|WP[ _]+Bio|Wpbiography|Wikiproject[ _]+biography|WPBio|WPbiography|WikiProject[ _]+biography|Wikiproject[ _]+biography|WikiProject[ _]+Biographies|WikiProject[ _]+Bio|WPBIO) *\r?([\|}{<\n])", "{{WikiProject Biography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Biology|WikiProject[ _]+Entomology|WPBIOLOGY|WP[ _]+Biology|Biology) *\r?([\|}{<\n])", "{{WikiProject Biology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Biota[ _]+of[ _]+Great[ _]+Britain[ _]+and[ _]+Ireland|BGBI|Biota[ _]+of[ _]+Great[ _]+Britain[ _]+and[ _]+Ireland) *\r?([\|}{<\n])", "{{WikiProject Biota of Great Britain and Ireland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Birds|BirdTalk|Birds[ _]+WikiProject|Birdtalk|WP[ _]+Birds|WPBirds) *\r?([\|}{<\n])", "{{WikiProject Birds$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Birmingham|WP[ _]+Birmingham) *\r?([\|}{<\n])", "{{WikiProject Birmingham$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Black[ _]+Lives[ _]+Matter|WikiProject[ _]+BLM|WPBLM) *\r?([\|}{<\n])", "{{WikiProject Black Lives Matter$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Black[ _]+Metal|Black[ _]+metal[ _]+task[ _]+force|Black[ _]+metal|BM) *\r?([\|}{<\n])", "{{WikiProject Black Metal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Blu-ray) *\r?([\|}{<\n])", "{{WikiProject Blu-ray$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Board[ _]+and[ _]+table[ _]+games|BTGProject|WikiProject[ _]+Board[ _]+games) *\r?([\|}{<\n])", "{{WikiProject Board and table games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bob[ _]+Dylan|WPBOBDYLAN|WPDylan) *\r?([\|}{<\n])", "{{WikiProject Bob Dylan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Body[ _]+Modification|Wikiproject[ _]+Body[ _]+Modification) *\r?([\|}{<\n])", "{{WikiProject Body Modification$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bodybuilding|Bodybuilding) *\r?([\|}{<\n])", "{{WikiProject Bodybuilding$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bolivia|WPBOLIVIA|WP[ _]+Bolivia) *\r?([\|}{<\n])", "{{WikiProject Bolivia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Books?|WP[ _]+Books?|WikiProject[ _]+books|WPbooks?|WPBooks|WPBOOKS?) *\r?([\|}{<\n])", "{{WikiProject Books$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bosnia[ _]+and[ _]+Herzegovina|WikiProject[ _]+Bosnia|WP[ _]+Bosnia[ _]+and[ _]+Herzegovina|Bosnia[ _]+and[ _]+Herzegovina|WPBOSNIA) *\r?([\|}{<\n])", "{{WikiProject Bosnia and Herzegovina$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Boston|WPBOSTON|WPBoston|Project[ _]+Boston) *\r?([\|}{<\n])", "{{WikiProject Boston$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Botswana|WP[ _]+Botswana) *\r?([\|}{<\n])", "{{WikiProject Africa|Botswana=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Boxing|WPBoxing|WP[ _]+Boxing|WikiProjectBoxing) *\r?([\|}{<\n])", "{{WikiProject Boxing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bradford|BradProject) *\r?([\|}{<\n])", "{{WikiProject Bradford$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Brands|WP[ _]+Brands?|WPBRANDS) *\r?([\|}{<\n])", "{{WikiProject Brands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Brazil|WPBRAZIL|WP[ _]+Brazil|WPBrazil) *\r?([\|}{<\n])", "{{WikiProject Brazil$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Breakfast|WP[ _]+Breakfast) *\r?([\|}{<\n])", "{{WikiProject Breakfast$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bridges[ _]+and[ _]+Tunnels|WikiProject[ _]+Bridges|WP[ _]+Bridges|WikiProject[ _]+Bridge|WikiProject[ _]+Bridges[ _]+article|WPBRIDGES) *\r?([\|}{<\n])", "{{WikiProject Bridges and Tunnels$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Brigham[ _]+Young[ _]+University|WPBYU[ _]+people|WPBYU) *\r?([\|}{<\n])", "{{WikiProject Brigham Young University$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Brighton|Wikipedia:WikiProject[ _]+Brighton/Talkpage) *\r?([\|}{<\n])", "{{WikiProject Brighton$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bristol|Bristol[ _]+WP|WP[ _]+Bristol) *\r?([\|}{<\n])", "{{WikiProject Bristol$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+and[ _]+Irish[ _]+hills|WPBH|BIhills) *\r?([\|}{<\n])", "{{WikiProject British and Irish hills$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+crime|Uk-crime|WP[ _]+British[ _]+crime) *\r?([\|}{<\n])", "{{WikiProject British crime$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+Library|BL-related|WPBL) *\r?([\|}{<\n])", "{{WikiProject British Library$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+Motorsport|British[ _]+Motorsport|WikiProject[ _]+British[ _]+motorsport|WP[ _]+British[ _]+Motorsport) *\r?([\|}{<\n])", "{{WikiProject British Motorsport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+Museum|BM-related) *\r?([\|}{<\n])", "{{WikiProject British Museum$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+British[ _]+Royalty|WikiProject[ _]+British[ _]+royalty) *\r?([\|}{<\n])", "{{WikiProject British Royalty$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Buckinghamshire|WPBUCKS|WP[ _]+Buckinghamshire) *\r?([\|}{<\n])", "{{WikiProject Buckinghamshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Buddhism|WP[ _]+Buddhism|WPBUDDHISM) *\r?([\|}{<\n])", "{{WikiProject Buddhism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Bulgaria|Bulgaria[ _]+project|WP[ _]+Bulgaria|WPBG|WPBULGARIA|WPBulgaria) *\r?([\|}{<\n])", "{{WikiProject Bulgaria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Burkina[ _]+Faso) *\r?([\|}{<\n])", "{{WikiProject Africa|Burkina Faso=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Burundi) *\r?([\|}{<\n])", "{{WikiProject Africa|Burundi=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Buses|WP[ _]+bus|WP[ _]+buses|WPBUS|WikiProject[ _]+buses) *\r?([\|}{<\n])", "{{WikiProject Buses$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Business|Bus\&Econ|Business|WP[ _]+Business|WPBE|WPBUSINESS|WikiProject[ _]+Business[ _]+\&[ _]+Economics|WikiProject[ _]+Business[ _]+and[ _]+Economics|WikiProject[ _]+Business[ _]+and[ _]+economics|WPBIZ) *\r?([\|}{<\n])", "{{WikiProject Business$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Wikipedia:WikiProject[ _]+C/C\+\+/Article|Wikipedia:WikiProject[ _]+C\+\+/Article|WP[ _]+C\+\+|WP[ _]+C/C\+\+) *\r?([\|}{<\n])", "{{WikiProject C/C++$2", RegexOptions.IgnoreCase); 
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cal[ _]+Poly[ _]+Pomona|WPCPP|WPCPP[ _]+people) *\r?([\|}{<\n])", "{{WikiProject Cal Poly Pomona$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+California|CWP|WPCALIFORNIA|WPCALI|WPCA|WP[ _]+California|WPCalifornia|Wikiproject[ _]+California) *\r?([\|}{<\n])", "{{WikiProject California$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WPCSU[ _]+people|WPCSU) *\r?([\|}{<\n])", "{{WikiProject California|calstate = yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Southern[ _]+California|WPSOCAL) *\r?([\|}{<\n])", "{{WikiProject California|southerncalifornia = yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Calvinism|WPCalvinism/Article[ _]+Scope) *\r?([\|}{<\n])", "{{WikiProject Calvinism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cambodia|WPCAMBODIA|WP[ _]+Cambodia) *\r?([\|}{<\n])", "{{WikiProject Cambodia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cameroon) *\r?([\|}{<\n])", "{{WikiProject Africa|Cameroon=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Canada|WP[ _]+British[ _]+Columbia|WP[ _]+Canada|WP[ _]+Ontario|WP[ _]+Quebec|WP[ _]+Toronto|WPCANADA|WPCanada|WPEIC\-cat|WikiProject[ _]+British[ _]+Columbia|WikiProject[ _]+Ontario) *\r?([\|}{<\n])", "{{WikiProject Canada$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Canada[ _]+Roads|Canada[ _]+Roads[ _]+WikiProject|CRWP) *\r?([\|}{<\n])", "{{WikiProject Canada Roads$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Canada[ _]+Streets|CANST) *\r?([\|}{<\n])", "{{WikiProject Canada Streets$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Canadian[ _]+football|WPCFL) *\r?([\|}{<\n])", "{{WikiProject Canadian football$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cannabis|WP[ _]*Cannabis|WP420) *\r?([\|}{<\n])", "{{WikiProject Cannabis$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cape[ _]+Cod[ _]+and[ _]+the[ _]+Islands|Project[ _]+Cape[ _]+Cod|Wiki[ _]+Project[ _]+Cape[ _]+Cod|Wiki[ _]+Project[ _]+Cape[ _]+Cod[ _]+and[ _]+the[ _]+Islands) *\r?([\|}{<\n])", "{{WikiProject Cape Cod and the Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cape[ _]+Verde|Wikiproject[ _]+Cape[ _]+Verde|WPCV|WP[ _]+Cape[ _]+Verde) *\r?([\|}{<\n])", "{{WikiProject Cape Verde$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Capital[ _]+District|WPCapitalDistrict) *\r?([\|}{<\n])", "{{WikiProject Capital District$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cardiff|WPCARDIFF) *\r?([\|}{<\n])", "{{WikiProject Cardiff$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Caribbean|WP[ _]+Caribbean|WPCARIBBEAN|WPCarribean) *\r?([\|}{<\n])", "{{WikiProject Caribbean$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Carnivorous[ _]+plants|Carnivorous[ _]+Plants) *\r?([\|}{<\n])", "{{WikiProject Carnivorous plants$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cartoon[ _]+Network|Cartoon[ _]+Network) *\r?([\|}{<\n])", "{{WikiProject Cartoon Network$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Catalan-speaking[ _]+Countries|WPCATALAN|WPCATALONIA|WikiProject[ _]+Catalan\-speaker|WikiProject[ _]+Catalonia) *\r?([\|}{<\n])", "{{WikiProject Catalan-speaking Countries$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Categories|WP[ _]+Categories) *\r?([\|}{<\n])", "{{WikiProject Categories$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Category[ _]+Suppression|WPCATSUP|WikiProject[ _]+Category[ _]+suppression) *\r?([\|}{<\n])", "{{WikiProject Category Suppression$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Catholicism|WP[ _]+Catholicism|WPCatholicism|Wikiproject[ _]+Catholicism|WikiProject[ _]+Roman[ _]+Catholicism|Project[ _]+Catholicism|WPCATHOLIC|WPRCC) *\r?([\|}{<\n])", "{{WikiProject Catholicism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cats|WP[ _]+Cats|Cats|WPCATS) *\r?([\|}{<\n])", "{{WikiProject Cats$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Caves|CavesProject|WP[ _]+Caves) *\r?([\|}{<\n])", "{{WikiProject Caves$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Celts|WPCELTS) *\r?([\|}{<\n])", "{{WikiProject Celts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Central[ _]+African[ _]+Republic) *\r?([\|}{<\n])", "{{WikiProject Africa|Central African Republic=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Central[ _]+America|WP[ _]+Central[ _]+America|WPCAMERICA) *\r?([\|}{<\n])", "{{WikiProject Central America$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Central[ _]+Asia|WP[ _]+Central[ _]+Asia|WPCASIA|WPCENTRALASIA) *\r?([\|}{<\n])", "{{WikiProject Central Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cephalopods|WP[ _]+Cephalopods|CephalopodTalk) *\r?([\|}{<\n])", "{{WikiProject Cephalopods$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cetaceans|CetaTalk|WikiProject[ _]+Cetacea) *\r?([\|}{<\n])", "{{WikiProject Cetaceans$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chad) *\r?([\|}{<\n])", "{{WikiProject Africa|Chad=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Channel[ _]+Islands|WPCI) *\r?([\|}{<\n])", "{{WikiProject Channel Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chemical[ _]+and[ _]+Bio[ _]+Engineering|Chemical[ _]+and[ _]+Bio[ _]+Engineering[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Chemical and Bio Engineering$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chemicals|Chemicals|WPCHEMICALS|WP[ _]+Chemicals) *\r?([\|}{<\n])", "{{WikiProject Chemicals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chemistry|WPCHEMISTRY|WPCHEM|WP[ _]+Chemistry|Chemistry) *\r?([\|}{<\n])", "{{WikiProject Chemistry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cheryl|WPCHERYL) *\r?([\|}{<\n])", "{{WikiProject Cheryl$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cheshire|WP[ _]+Cheshire) *\r?([\|}{<\n])", "{{WikiProject Cheshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chess|WP[ _]+Chess|WPChess|Chess-WikiProject) *\r?([\|}{<\n])", "{{WikiProject Chess$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chicago|WP[ _]+Chicago|WPCHICAGO|Chicago[ _]+WikiProject|ChicagoWikiProject) *\r?([\|}{<\n])", "{{WikiProject Chicago$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Children\'s[ _]+literature|Fairytale|Children\'sLiteratureWikiProject|WikiProject[ _]+Children\'s[ _]+Literature|WP[ _]+Children\'s[ _]+lit) *\r?([\|}{<\n])", "{{WikiProject Children's literature$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chile|WPCHILE|WPChile|WP[ _]+Chile) *\r?([\|}{<\n])", "{{WikiProject Chile$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+China|China|WP[ _]+China|WPCHINA|WPChina|Wikiproject[ _]+China|WPCN) *\r?([\|}{<\n])", "{{WikiProject China$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Chinese-language[ _]+entertainment|CPOP|Cpop|WPCLE) *\r?([\|}{<\n])", "{{WikiProject Chinese-language entertainment$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Christian[ _]+metal|Christianmetal |WikiProject[ _]+Christian[ _]+metal|christianmetal) *\r?([\|}{<\n])", "{{WikiProject Christian metal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Christian[ _]+music|WP[ _]+Christianmusic|WPCHRISTIANMUSIC|Christianmusic|WikiProject[ _]+Contemporary[ _]+Christian[ _]+music|WikiProject[ _]+Gospel|WikiProject[ _]+Gospel[ _]+music) *\r?([\|}{<\n])", "{{WikiProject Christian music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Christianity|WP[ _]+Christianity|WP[ _]+Christian|CharismaticWikiProject|Christ|Christianity[ _]+WikiProject|ChristianityWikiProject|ChristianityWikiproject|Christianitywikiproject|JWProject|NazareneProject|Quaker|WPCHRIST|WPCHRISTIANITY|WPChristianity|WikiProject[ _]+Charismatic[ _]+Christianity|WikiProject[ _]+Messianic[ _]+Judaism|WikiProject[ _]+Syriac[ _]+Christianity|Wikiproject[ _]+Christianity|Wpchr) *\r?([\|}{<\n])", "{{WikiProject Christianity$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cincinnati|WPCINCINNATI) *\r?([\|}{<\n])", "{{WikiProject Cincinnati$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cities|WikiProjectCities|WPCITIES|WP[ _]+Cities|WPCities) *\r?([\|}{<\n])", "{{WikiProject Cities$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Citizendium[ _]+Porting|CZPORT) *\r?([\|}{<\n])", "{{WikiProject Citizendium Porting$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Civil[ _]+engineering|WikiProject[ _]+Geotechnical[ _]+engineering|WikiProject[ _]+Civil[ _]+Engineering) *\r?([\|}{<\n])", "{{WikiProject Civil engineering$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Classical[ _]+Greece[ _]+and[ _]+Rome|Classical[ _]+Greece[ _]+and[ _]+Rome|Classical[ _]+greece[ _]+and[ _]+rome|WP[ _]+Classics|WikiProject[ _]+Classics|CGR|WP[ _]+Rome) *\r?([\|}{<\n])", "{{WikiProject Classical Greece and Rome$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Classical[ _]+League|Wiki[ _]+Project[ _]+Classical[ _]+League) *\r?([\|}{<\n])", "{{WikiProject Classical League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Contemporary[ _]+music|WikiProject[ _]+Classical[ _]+Music|WPCLASSICALMUSIC|WPCLASSICAL|WPCONTEMPORARYMUSIC|Classical|WPCONTEMPORARY|WikiProject[ _]+Contemporary[ _]+Music|Contemporary[ _]+music|WikiProject[ _]+Classical|WP[ _]+Classical[ _]+music|WPCLSCL|WPCL|CLSCL|WP[ _]+Classical[ _]+Music) *\r?([\|}{<\n])", "{{WikiProject Classical music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cleveland|ClevelandWikiProject) *\r?([\|}{<\n])", "{{WikiProject Cleveland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Climbing|Climbing) *\r?([\|}{<\n])", "{{WikiProject Climbing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cold[ _]+War|Cold[ _]+WarWikiProject|WikiProject[ _]+Cold[ _]+War[ _]+history|WikiProject[ _]+Cold[ _]+war) *\r?([\|}{<\n])", "{{WikiProject Cold War$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+College[ _]+Basketball|WikiProject[ _]+College[ _]+basketball|WP[ _]+College[ _]+Basketball) *\r?([\|}{<\n])", "{{WikiProject College Basketball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+College[ _]+football|WikiProject[ _]+College[ _]+Football|WP[ _]+College[ _]+football|WP[ _]+CFB) *\r?([\|}{<\n])", "{{WikiProject College football$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Colombia|WPColombia|WPCOLOMBIA|WPColumbia|WP[ _]+Colombia) *\r?([\|}{<\n])", "{{WikiProject Colombia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Color|WikiProject[ _]+Colour|Wikiproject[ _]+color|WP[ _]+Color|WPCOLOR) *\r?([\|}{<\n])", "{{WikiProject Color$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Colorado|WPCOLORADO|WP[ _]+Colorado|Project[ _]+Colorado) *\r?([\|}{<\n])", "{{WikiProject Colorado$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Columbia,[ _]+Missouri[ _]+people) *\r?([\|}{<\n])", "{{WikiProject Columbia, Missouri people$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Columbia,[ _]+Missouri|WikiProject[ _]+Columbia,[ _]+Missouri[ _]+people) *\r?([\|}{<\n])", "{{WikiProject Columbia, Missouri$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Combat[ _]+Games|WikiProjectWG) *\r?([\|}{<\n])", "{{WikiProject Combat Games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Comedy|Comedy|WP[ _]+Comedy|WPCOMEDY|WPHUMOR) *\r?([\|}{<\n])", "{{WikiProject Comedy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Comics|Comicsproj|WP[ _]+Comics|WPCOMICS|WPComics|Webcomicproj|Webcomicsproj) *\r?([\|}{<\n])", "{{WikiProject Comics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Commonwealth|WikiProject[ _]+Commonwealth[ _]+realms|WPCommonwealth) *\r?([\|}{<\n])", "{{WikiProject Commonwealth$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Companies|WP[ _]+Company|Companies|WP[ _]+Companies|WPCO|WPCOMPANIES|WPCompanies|WikiProject[ _]+Company|Wikiproject[ _]+Companies|WPCOMPANY|WPCRP) *\r?([\|}{<\n])", "{{WikiProject Companies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Composers|WPCOMPOSERS|WP[ _]+Composers|Composers) *\r?([\|}{<\n])", "{{WikiProject Composers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Computer[ _]+science|WikiProject[ _]+Computer[ _]+Science|WP[ _]+Computer[ _]+Science|WPCompSci|WPCOMPSCIENCE|WPCS|WP[ _]+CS) *\r?([\|}{<\n])", "{{WikiProject Computer science$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Computer[ _]+Security|WikiProject[ _]+Malware|MalwareProject) *\r?([\|}{<\n])", "{{WikiProject Computer Security$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Computing|Computing|WP[ _]+Computing|WPComputing|WikiProject[ _]+Computers|WikiProject[ _]+Information[ _]+Technology|WP[ _]+Computers|WPPROGRAMMING) *\r?([\|}{<\n])", "{{WikiProject Computing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Concerts|WikiProject[ _]+Concert[ _]+Tours|Concert[ _]+Tours|WikiProject[ _]+Concert[ _]+tours|WPCONCERT|WP[ _]+Concerts) *\r?([\|}{<\n])", "{{WikiProject Concerts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Congo) *\r?([\|}{<\n])", "{{WikiProject Africa|Congo=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Connecticut|WP[ _]+Connecticut|WPCT|WPCONNECTICUT|WPCONN) *\r?([\|}{<\n])", "{{WikiProject Connecticut$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Conservatism|WP[ _]+Conservatism) *\r?([\|}{<\n])", "{{WikiProject Conservatism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Constructed[ _]+languages|WP[ _]+constructed[ _]+languages|WP[ _]+conlangs|WPCONLANG|Wpclong) *\r?([\|}{<\n])", "{{WikiProject Constructed languages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Contemporary[ _]+Art|ContemporaryArtProject) *\r?([\|}{<\n])", "{{WikiProject Contemporary Art$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Contract[ _]+bridge|WPCB) *\r?([\|}{<\n])", "{{WikiProject Contract bridge$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cooperatives|COOP|Cooperatives) *\r?([\|}{<\n])", "{{WikiProject Cooperatives$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cornell[ _]+University|WikiProject[ _]+Cornell|Project[ _]+Cornell) *\r?([\|}{<\n])", "{{WikiProject Cornell University$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cornwall|CornwallWikiproject|Geography[ _]+of[ _]+Penwith\,[ _]+Cornwall|WPCORNWALL|WP[ _]+Cornwall) *\r?([\|}{<\n])", "{{WikiProject Cornwall$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Coronation[ _]+Street|WP[ _]+Corrie) *\r?([\|}{<\n])", "{{WikiProject Coronation Street$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Correction[ _]+and[ _]+Detention[ _]+Facilities|Jail[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Correction and Detention Facilities$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Costa[ _]+Rica|WPCR|WP[ _]+Costa[ _]+Rica) *\r?([\|}{<\n])", "{{WikiProject Costa Rica$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Côte[ _]+d'Ivoire) *\r?([\|}{<\n])", "{{WikiProject Africa|Côte d'Ivoire=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Countering[ _]+systemic[ _]+bias|Csbir) *\r?([\|}{<\n])", "{{WikiProject Countering systemic bias$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Countries|WPCOUNTRIES|WP[ _]+Countries|WPCountries) *\r?([\|}{<\n])", "{{WikiProject Countries$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Country[ _]+Music|Countrybanner|Countrynotice|WPCOUNTRY|WP[ _]+Country|WPCW) *\r?([\|}{<\n])", "{{WikiProject Country Music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Coventry|WPCov) *\r?([\|}{<\n])", "{{WikiProject Coventry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+COVID-19|WikiProject[ _]+COVID|WP[ _]+COVID-19|WP[ _]+COVID) *\r?([\|}{<\n])", "{{WikiProject COVID-19$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Craft|WP[ _]+Craft) *\r?([\|}{<\n])", "{{WikiProject Craft$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cricket|WP[ _]+Cricket|Wikiproject[ _]+Cricket|WPCRIC|CricketWatch|WPCRICKET) *\r?([\|}{<\n])", "{{WikiProject Cricket$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Crime|WikiProject[ _]+Crimes|WP[ _]+Crime|WPCRIME|WPCrime|WikiProject[ _]+Criminal[ _]+Biography|WikiProject[ _]+Criminal[ _]+biography|WP[ _]+Criminal|WikiProject[ _]+Criminal|WP[ _]+CrimeBio) *\r?([\|}{<\n])", "{{WikiProject Crime and Criminal Biography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Croatia|WPCROATIA|WPCroatia|WP[ _]+Croatia) *\r?([\|}{<\n])", "{{WikiProject Croatia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cryptography|Cryptography|WP[ _]+Cryptography|CryptographyProject) *\r?([\|}{<\n])", "{{WikiProject Cryptography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cryptozoology|WikiProject[ _]+Cryptids) *\r?([\|}{<\n])", "{{WikiProject Cryptozoology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cuba|Cuba|WPCUBA|WP[ _]+Cuba|WPCuba) *\r?([\|}{<\n])", "{{WikiProject Cuba$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cue[ _]+sports|Cue[ _]+sports[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Cue sports$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cultural[ _]+Heritage[ _]+of[ _]+Serbia|CHS|CPGI|WPCHS|WikiProject[ _]+Cultural[ _]+Property[ _]+of[ _]+Great[ _]+Importance) *\r?([\|}{<\n])", "{{WikiProject Cultural Heritage of Serbia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Culture|WP[ _]+Culture|WPCULTURE|WPCulture) *\r?([\|}{<\n])", "{{WikiProject Culture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Curling|Curling) *\r?([\|}{<\n])", "{{WikiProject Curling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Current[ _]+events|Current[ _]+events[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Current events$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cycling|Cycling-project|Cycling[ _]+project|WPMB|WP[ _]+Cycling|WPCYCLING) *\r?([\|}{<\n])", "{{WikiProject Cycling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Cyprus|WPCYPRUS|WPCYP|WPCyprus|WP[ _]+Cyprus) *\r?([\|}{<\n])", "{{WikiProject Cyprus$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Czech[ _]+Republic|WP[ _]+Czech[ _]+Republic|WPCZECH|WPCzech|WPCzechRepublic|Wpcs) *\r?([\|}{<\n])", "{{WikiProject Czech Republic$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dallas-Fort[ _]+Worth|WikiProject[ _]+Dallas) *\r?([\|}{<\n])", "{{WikiProject Dallas-Fort Worth$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dance|Wikiproject[ _]+Dance|WPDance|WPDANCE|WP[ _]+Dance) *\r?([\|}{<\n])", "{{WikiProject Dance$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Database|WP[ _]+Database|WP[ _]+Databases|WPDATABASE|WPDatabase|WPDatabases|WikiProject[ _]+Database) *\r?([\|}{<\n])", "{{WikiProject Database$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Days[ _]+of[ _]+the[ _]+Year|Wikiprojectdaysofyear|WikiProject[ _]+Days[ _]+of[ _]+the[ _]+Year|DayTalkMessage) *\r?([\|}{<\n])", "{{WikiProject Days of the Year$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Deaf|WikiProjectDeaf|WPDeaf) *\r?([\|}{<\n])", "{{WikiProject Deaf$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Death|WPDeath|WPDEATH|WP[ _]+Death|WPDED) *\r?([\|}{<\n])", "{{WikiProject Death$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Delaware|Project[ _]+Delaware|WPDELAWARE|WP[ _]+Delaware|WPDelaware) *\r?([\|}{<\n])", "{{WikiProject Delaware$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Denmark|WPDENMARK|WPDenmark|WikiProject[ _]+Danmark|WP[ _]+Denmark) *\r?([\|}{<\n])", "{{WikiProject Denmark$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Democratic[ _]+Republic[ _]+of[ _]+the[ _]+Congo) *\r?([\|}{<\n])", "{{WikiProject Africa|Democratic Republic of the Congo=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dentistry|WP[ _]+Dentistry|WPDENT) *\r?([\|}{<\n])", "{{WikiProject Dentistry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Derbyshire|Project[ _]+Derbyshire|WP[ _]+Derbyshire) *\r?([\|}{<\n])", "{{WikiProject Derbyshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Deserts|WP[ _]+Deserts) *\r?([\|}{<\n])", "{{WikiProject Deserts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Devon|WPDevon|WP[ _]+Devon) *\r?([\|}{<\n])", "{{WikiProject Devon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Disability|WP[ _]+Disability) *\r?([\|}{<\n])", "{{WikiProject Disability$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Disambiguation|DBP|Dab-talkheader|Dabproject|Dbp|DisPro|DisProject|DisambProject|Disambig[ _]+Project|Disambig-Project|DisambigProj|DisambigProject|Disambigproject|DisambiguationProject|Disambproject|ProjectDisambig|WP[ _]+DAB|WP[ _]+Dab|WP[ _]+Disamb|WP[ _]+Disambig|WP[ _]+Disambiguation|WPDAB|WPDISAMBIG|WPDisambig|WPDisambiguation|WikiProject[ _]+dab|WikiProject[ _]+Disambig|WikiProect[ _]+Disambiguation|Wikiproject[ _]+Disambiguation) *\r?([\|}{<\n])", "{{WikiProject Disambiguation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Disaster[ _]+management|Disaster[ _]+management|WikiProject[ _]+Disaster[ _]+Management|WPDISASTER|WPDM) *\r?([\|}{<\n])", "{{WikiProject Disaster management$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Discographies|WikiProject[ _]+Discography|WPDISCOG|WP[ _]+Discographies|Wp[ _]+disc|dscg|dsg) *\r?([\|}{<\n])", "{{WikiProject Discographies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Discrimination|WPDISC|WPDISCRIMINATION) *\r?([\|}{<\n])", "{{WikiProject Discrimination$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Disney|WP[ _]+Disney) *\r?([\|}{<\n])", "{{WikiProject Disney$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Disneyland|WikiProjectDisneyland) *\r?([\|}{<\n])", "{{WikiProject Disneyland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Djibouti) *\r?([\|}{<\n])", "{{WikiProject Africa|Djibouti=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Doctor[ _]+Who|Doctorwhoproject) *\r?([\|}{<\n])", "{{WikiProject Doctor Who$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dogs|WPDOG|WPDOGS|WikiProject dogs) *\r?([\|}{<\n])", "{{WikiProject Dogs$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dominican[ _]+Republic|WP[ _]+DR) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Dominican Republic=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Donald[ _]+Trump|WP[ _]+Donald[ _]+Trump|WPTRUMP) *\r?([\|}{<\n])", "{{WikiProject Donald Trump$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dorset|WPDorset) *\r?([\|}{<\n])", "{{WikiProject Dorset$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dravidian[ _]+civilizations|WPDRAVCIV) *\r?([\|}{<\n])", "{{WikiProject Dravidian civilizations$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dravidian[ _]+languages|WPDRAVLAN) *\r?([\|}{<\n])", "{{WikiProject Dravidian languages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dravidian[ _]+people|WPDRAVPPL) *\r?([\|}{<\n])", "{{WikiProject Dravidian people$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Drum[ _]+Corps|Drumcorps/-project|Drumcorps/-cat) *\r?([\|}{<\n])", "{{WikiProject Drum Corps$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dubai|Dubai[ _]+category|Dubai[ _]+image|Dubai[ _]+project|Dubai[ _]+template) *\r?([\|}{<\n])", "{{WikiProject United Arab Emirates|Dubai=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dungeons[ _]+\&[ _]+Dragons|D\&D|Dungeons[ _]+\&[ _]+Dragons|Project[ _]+D\&D|WPD\&D|WPDND|WikiProject[ _]+D\&D) *\r?([\|}{<\n])", "{{WikiProject Dungeons & Dragons$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Dyslexia|DyslexiaProject) *\r?([\|}{<\n])", "{{WikiProject Dyslexia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Earthquakes|Earthquake[ _]+category|Earthquake[ _]+image|Earthquake[ _]+list|Earthquake[ _]+project|Earthquake[ _]+template|WP[ _]+Earthquakes) *\r?([\|}{<\n])", "{{WikiProject Earthquakes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+East[ _]+Anglia|WP[ _]+Cambridge|WikiProject[ _]+Suffolk|WikiProject[ _]+Norfolk|WP[ _]+Essex|WikiProject[ _]+Essex|WP[ _]+Norfolk|WikiProject[ _]+Cambridgeshire) *\r?([\|}{<\n])", "{{WikiProject East Anglia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+East[ _]+Asia|EASIA|EASTASIA|WPEA|WPEASIA|WPEASTASIA) *\r?([\|}{<\n])", "{{WikiProject East Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+East[ _]+Timor|WPETIMOR) *\r?([\|}{<\n])", "{{WikiProject East Timor$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+EastEnders|EastEnders[ _]+project[ _]+class|WP[ _]+EastEnders) *\r?([\|}{<\n])", "{{WikiProject EastEnders$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Eastern[ _]+Orthodoxy|Orthodoxyproject|SOCWikiProject|WikiProject[ _]+Eatern[ _]+Orthodoxy|WP[ _]+Eastern[ _]+Orthodoxy|WP[ _]+Eastern[ _]+Orthodox[ _]+Church) *\r?([\|}{<\n])", "{{WikiProject Eastern Orthodoxy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Eclipses|WPEclipses|WikiProject[ _]+eclipses) *\r?([\|}{<\n])", "{{WikiProject Eclipses$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ecology|WP[ _]+Ecology|Ecology) *\r?([\|}{<\n])", "{{WikiProject Ecology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Economics|WPEconomics|WPEC|WPECON|Econ|WP[ _]+Economics) *\r?([\|}{<\n])", "{{WikiProject Economics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ecoregions|WikiProject[ _]+ecoregions|WP[ _]+Ecoregions|Wikiproject[ _]+ecoregions) *\r?([\|}{<\n])", "{{WikiProject Ecoregions$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ecuador|WPECUADOR|WP[ _]+Ecuador|WPEcuador) *\r?([\|}{<\n])", "{{WikiProject Ecuador$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Edinburgh|WP[ _]+Edinburgh) *\r?([\|}{<\n])", "{{WikiProject Edinburgh$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Editing[ _]+trends|WPET) *\r?([\|}{<\n])", "{{WikiProject Editing trends$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Education|WP[ _]+Education|WPED|WPEDU|WPEducation|WikiProject[ _]+Public[ _]+Policy) *\r?([\|}{<\n])", "{{WikiProject Education$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Education[ _]+in[ _]+the[ _]+United[ _]+Kingdom|EducationUK[ _]+WP) *\r?([\|}{<\n])", "{{WikiProject Education in the United Kingdom$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Egypt|WPEgypt|WPEGYPT|WP[ _]+Egypt) *\r?([\|}{<\n])", "{{WikiProject Egypt$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+El[ _]+Salvador|WPES|WP[ _]+El[ _]+Salvador) *\r?([\|}{<\n])", "{{WikiProject El Salvador$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Elections[ _]+and[ _]+Referendums|WP[ _]+Election|WP[ _]+Elections|WPELECTIONS|WikiProject[ _]+Elections|WikiProject[ _]+Elections[ _]+and[ _]+Referenda) *\r?([\|}{<\n])", "{{WikiProject Elections and Referendums$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Electronic[ _]+music|WPEM|Electronic-music-project|WP[ _]+Electro|WP[ _]+Electronic[ _]+music|WPElectro|WPElectronic[ _]+music) *\r?([\|}{<\n])", "{{WikiProject Electronic music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Electronics|Electro|Electron|WPElectronics|WP[ _]+Electronics) *\r?([\|}{<\n])", "{{WikiProject Electronics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Elements|WP[ _]+Elements) *\r?([\|}{<\n])", "{{WikiProject Elements$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Elizabethan[ _]+theatre|WikiProject[ _]+E-theatre) *\r?([\|}{<\n])", "{{WikiProject Elizabethan theatre$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Eminem|WPEminem) *\r?([\|}{<\n])", "{{WikiProject Eminem$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Emo|Wikiproject[ _]+Emo[ _]+music|Wikiproject[ _]+Emo|WPEmo) *\r?([\|}{<\n])", "{{WikiProject Emo$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Endangered[ _]+Languages|WPENLANG|WikiProject[ _]+Endangered[ _]+Languages) *\r?([\|}{<\n])", "{{WikiProject Endangered Languages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Energy|Energy|Energy[ _]+development|WP[ _]+Energy|WPENERGY|WPEnergy|WikiProject[ _]+Energy[ _]+development) *\r?([\|}{<\n])", "{{WikiProject Energy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Engineering|WPEngineering|WP[ _]+Engineering|Engineering) *\r?([\|}{<\n])", "{{WikiProject Engineering$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+England|WPE|WPEngland|WPENGLAND|WP[ _]+England|WPEng|England) *\r?([\|}{<\n])", "{{WikiProject England$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+English[ _]+Royalty|WP[ _]+English[ _]+Royalty) *\r?([\|}{<\n])", "{{WikiProject English Royalty$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Entrepreneurship[ _]+policies[ _]+in[ _]+the[ _]+Arab[ _]+world|ArabEntrep[ _]+banner) *\r?([\|}{<\n])", "{{WikiProject Entrepreneurship policies in the Arab world$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Environment|Environment|Hydrogen[ _]+development|WP[ _]+Environment|WPENVIRONMENT) *\r?([\|}{<\n])", "{{WikiProject Environment$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Equatorial[ _]+Guinea) *\r?([\|}{<\n])", "{{WikiProject Africa|Equatorial Guinea=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Equine|Eqtalk|WPEQ) *\r?([\|}{<\n])", "{{WikiProject Equine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Erie|ErieWikiProject) *\r?([\|}{<\n])", "{{WikiProject Erie$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Eritrea) *\r?([\|}{<\n])", "{{WikiProject Africa|Eritrea=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Espionage|WP[ _]+Espionage|WikiProject[ _]+Intelligence) *\r?([\|}{<\n])", "{{WikiProject Espionage$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Essays|Essaysort) *\r?([\|}{<\n])", "{{WikiProject Essays$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Estonia|WPEstonia|Wp[ _]+estonia|WPESTONIA|WP[ _]+Estonia|Wikiproject[ _]+estonia|WPEST) *\r?([\|}{<\n])", "{{WikiProject Estonia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ethiopia|WPETHIOPIA|WPEthiopia|WP[ _]+Ethiopia) *\r?([\|}{<\n])", "{{WikiProject Ethiopia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ethnic[ _]+groups|Ethnic[ _]+groups|WP[ _]+Ethnic[ _]+groups|WPETHNIC|WikiProject[ _]+Ethnic[ _]+Groups|WPEG) *\r?([\|}{<\n])", "{{WikiProject Ethnic groups$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Etymology|WP[ _]+Etymology) *\r?([\|}{<\n])", "{{WikiProject Etymology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Europe|WP[ _]+Europe|WPEUROPE|WPEurope|WikiProject[ _]+Southern[ _]+Europe) *\r?([\|}{<\n])", "{{WikiProject Europe$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+European[ _]+history|WP[ _]+European[ _]+History|Eurohist) *\r?([\|}{<\n])", "{{WikiProject European history$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+European[ _]+Microstates|MICROSTATE|WP[ _]+European[ _]+Microstates) *\r?([\|}{<\n])", "{{WikiProject European Microstates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+European[ _]+Union|European[ _]+Union|European[ _]+Union[ _]+Wikiproject|WPEU|WP[ _]+EU|WikiProject[ _]+EU|Wikiproject[ _]+European[ _]+Union) *\r?([\|}{<\n])", "{{WikiProject European Union$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Eurovision|WP[ _]+Eurovision|EurovisionNotice) *\r?([\|}{<\n])", "{{WikiProject Eurovision$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Evanescence|WPEV) *\r?([\|}{<\n])", "{{WikiProject Evanescence$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Event[ _]+Venues|WPVENUE|WikiProject[ _]+Stadia) *\r?([\|}{<\n])", "{{WikiProject Event Venues$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Evolutionary[ _]+biology|EvolWikiProject|WPEB|WikiProject[ _]+Evolutionary[ _]+Biology|Wikiproject[ _]+Evolution) *\r?([\|}{<\n])", "{{WikiProject Evolutionary biology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Explosives|WPExplosives) *\r?([\|}{<\n])", "{{WikiProject Explosives$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fact[ _]+and[ _]+Reference[ _]+Check|WPFACT) *\r?([\|}{<\n])", "{{WikiProject Fact and Reference Check$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Family[ _]+and[ _]+relationships|WikiProject[ _]+Family|WP[ _]+Family|WPFAMILY) *\r?([\|}{<\n])", "{{WikiProject Family and relationships$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Family[ _]+Guy|Family[ _]+Guy[ _]+WikiProject) *\r?([\|}{<\n])", "{{WikiProject Family Guy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Faroe[ _]+Islands|WPFAROES) *\r?([\|}{<\n])", "{{WikiProject Faroe Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fashion|WPFashion|WPFASHION|WP[ _]+Fashion) *\r?([\|}{<\n])", "{{WikiProject Fashion$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Feminism|WP[ _]+Feminism) *\r?([\|}{<\n])", "{{WikiProject Feminism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Festivals|WikiProject[ _]+Festival|WP[ _]+Festivals) *\r?([\|}{<\n])", "{{WikiProject Festivals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fictional[ _]+characters|Fictional[ _]+Characters|WPCHAR|WPFCHAR|WikiProject[ _]+Fictional[ _]+Characters|WikiProject[ _]+Fictional[ _]+character|WikiProject[ _]+Fictional[ _]+charcters|WP[ _]+Fictional[ _]+Characters|WPFICTION) *\r?([\|}{<\n])", "{{WikiProject Fictional characters$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Figure[ _]+Skating|WP[ _]+Figure[ _]+Skating) *\r?([\|}{<\n])", "{{WikiProject Figure Skating$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fiji|WP[ _]+Fiji|WPFIJI) *\r?([\|}{<\n])", "{{WikiProject Fiji$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Film|WikiProject[ _]+Filmmaking|WikiProjectFilm|FilmWikiProject|FilmsWikiProject|WPFILM|WP[ _]+Film|FILM|WikiProject[ _]+Films|Film|WP[ _]+Films|WPMOVIE|WikiProject[ _]+film|WikiProject[ _]+Movies|Movies|Wikiproject[ _]+Film|WikiProject[ _]+Cinema|WP[ _]+Movies|WP[ _]+Movie|Wikiproject[ _]+film) *\r?([\|}{<\n])", "{{WikiProject Film$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Finance|WP[ _]+Finance|WPFinance|WPFINANCE) *\r?([\|}{<\n])", "{{WikiProject Finance$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Finland|WPFINLAND|Finland|WP[ _]+Finland|WPFinland) *\r?([\|}{<\n])", "{{WikiProject Finland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fire[ _]+Service|WikiProject[ _]+Fire[ _]+service|WikiProject[ _]+FireService|WikiProjectFireService) *\r?([\|}{<\n])", "{{WikiProject Fire Service$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Firearms|WPGUNS|WPGUN|WP[ _]+Firearms) *\r?([\|}{<\n])", "{{WikiProject Firearms$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fisheries[ _]+and[ _]+Fishing|WikiProject[ _]+Fishing|WPFISHING) *\r?([\|}{<\n])", "{{WikiProject Fisheries and Fishing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fishes|WikiProject[ _]+Fish|Fishes|FishTalk|Fishproject|WP[ _]+Fishes|WP[ _]+Fish) *\r?([\|}{<\n])", "{{WikiProject Fishes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Floorball|Floorball) *\r?([\|}{<\n])", "{{WikiProject Floorball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Florida[ _]+Gators|GatorsProject) *\r?([\|}{<\n])", "{{WikiProject Florida Gators$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Florida[ _]+International[ _]+University|WPFIU|WikiProject[ _]+FIU[ _]+banner|WikiProject[ _]+Florida[ _]+International[ _]+University/banner) *\r?([\|}{<\n])", "{{WikiProject Florida International University$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Florida[ _]+State[ _]+University|WPFSU) *\r?([\|}{<\n])", "{{WikiProject Florida State University$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Florida|Project[ _]+Florida|Florida[ _]+project|WikiProject[ _]+Florida[ _]+category|WikiProject[ _]+Florida[ _]+template|WikiProject[ _]+Florida[ _]+image|Project[ _]+Florida[ _]+template|Project[ _]+Florida[ _]+category|WPFLORIDA|WPFL|WPFlorida|WP[ _]+Florida) *\r?([\|}{<\n])", "{{WikiProject Florida$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Food[ _]+and[ _]+drink|WP[ _]+Food[ _]+and[ _]+drink|Food[ _]+and[ _]+drink|WPFOOD|WPCUISINE|F&D|WikiProject[ _]+Ice[ _]+Cream|WP[ _]+Ice[ _]+Cream|Wpfood|WikiProject[ _]+Food[ _]+and[ _]+Drink|Food|Wikiproject[ _]+Food[ _]+and[ _]+drink|WP[ _]+Food|Wikiproject[ _]+Food[ _]+and[ _]+Drink|WikiProject[ _]+Food|Wpf) *\r?([\|}{<\n])", "{{WikiProject Food and drink$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Football|Football|WP[ _]+Football|WP[ _]+Footy|WPFootball|WPFooty|WikiProject[ _]+Soccer|WP[ _]+Soccer|WPSOCCER) *\r?([\|}{<\n])", "{{WikiProject Football$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Forestry|WP[ _]+Forestry|WPFOREST) *\r?([\|}{<\n])", "{{WikiProject Forestry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Forgotten[ _]+Realms|Forgotten[ _]+Realms[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Forgotten Realms$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Former[ _]+countries|WPFC|WikiProject[ _]+Former[ _]+Countries) *\r?([\|}{<\n])", "{{WikiProject Former countries$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Formula[ _]+One|WPF1) *\r?([\|}{<\n])", "{{WikiProject Formula One$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+France|France|WPFR|WPFRANCE|WPFrance|WP[ _]+France) *\r?([\|}{<\n])", "{{WikiProject France$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fraternities[ _]+and[ _]+Sororities) *\r?([\|}{<\n])", "{{WikiProject Fraternities and Sororities$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Free[ _]+Software|WPFS|WikiProject[ _]+Free[ _]+software) *\r?([\|}{<\n])", "{{WikiProject Free Software$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Freedom[ _]+of[ _]+speech|WP[ _]+Freedom[ _]+of[ _]+speech) *\r?([\|}{<\n])", "{{WikiProject Freedom of speech$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Friesland|Project[ _]+Friesland) *\r?([\|}{<\n])", "{{WikiProject Friesland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Frisia|WPFRI) *\r?([\|}{<\n])", "{{WikiProject Frisia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fungi|WPFUNGI|Fungi|WPFUNGUS) *\r?([\|}{<\n])", "{{WikiProject Fungi$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Furry|WP[ _]+Furry) *\r?([\|}{<\n])", "{{WikiProject Furry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Futurama|WP[ _]+Futurama[ _]+notice|FuturamaWikiProject) *\r?([\|}{<\n])", "{{WikiProject Futurama$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+G\.I\.[ _]+Joe|Wikiproject[ _]+G\.I\.[ _]+Joe) *\r?([\|}{<\n])", "{{WikiProject G.I. Joe$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gabon) *\r?([\|}{<\n])", "{{WikiProject Africa|Gabon=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gaelic[ _]+games|Gaelic[ _]+Games[ _]+Project[ _]+Category|GaelicGamesProject|GaelicGamesProject[ _]+Category|GaelicGamesProject[ _]+category|GaelicGamesProjectCategory|GaelicGamesProjectTemplate|WP[ _]+Gaelic[ _]+Games|WP[ _]+Gaelic[ _]+games|WikiProject[ _]+Gaelic[ _]+Games) *\r?([\|}{<\n])", "{{WikiProject Gaelic games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gambia|WP[ _]+Gambia) *\r?([\|}{<\n])", "{{WikiProject Africa|Gambia=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gambling|Gambling) *\r?([\|}{<\n])", "{{WikiProject Gambling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Game[ _]+theory|WPGT|GTP|GameTheoryProject) *\r?([\|}{<\n])", "{{WikiProject Game theory$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Games|WP[ _]+Games|WPGAMES?) *\r?([\|}{<\n])", "{{WikiProject Games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gastropods|GastTalk|Gastropods|WP[ _]+Gastropods) *\r?([\|}{<\n])", "{{WikiProject Gastropods$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gemology[ _]+and[ _]+Jewelry|WP[ _]+Gems|WP[ _]+Gemology[ _]+and[ _]+Jewelry) *\r?([\|}{<\n])", "{{WikiProject Gemology and Jewelry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gender|WikiProject[ _]+Gender[ _]+Studies|WikiProject[ _]+Gender[ _]+studies|WP[ _]+Gender[ _]+Studies|WPGENDER) *\r?([\|}{<\n])", "{{WikiProject Gender Studies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Genealogy|WP[ _]+Genealogy) *\r?([\|}{<\n])", "{{WikiProject Genealogy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Geographical[ _]+coordinates|WPcoord) *\r?([\|}{<\n])", "{{WikiProject Geographical coordinates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Geography|Geography|WP[ _]+Geography|WPGEO|WPGEOGRAPHY|Wpgeo) *\r?([\|}{<\n])", "{{WikiProject Geography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Geology|WPGeology|WPGEOLOGY|WP[ _]+Geology) *\r?([\|}{<\n])", "{{WikiProject Geology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Georgia[ _]+\([ ]*U\.S\.[ ]+state\)|WikiProject[ _]+GeorgiaUS|Wikiproject[ _]+Georgia[ _]+\(U\.S\.[ _]+state\)|WPGEORGIA|WikiProject[ _]+Georgia[ _]+\(U\.S\.[ _]+state\)|WP[ _]+Georgia[ _]+\(U\.S\.[ _]+state\)|WPGEORGIAUSA|WikiProject[ _]+GeorgiaUS|WPGEORGIAUS) *\r?([\|}{<\n])", "{{WikiProject Georgia (U.S. state)$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Georgia[ _]+\(country\)|WP[ _]+Georgia|WikiProject[ _]+Georgia|WPGC) *\r?([\|}{<\n])", "{{WikiProject Georgia (country)$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Georgia[ _]+Tech|Wikiproject[ _]+Georgia[ _]+Tech) *\r?([\|}{<\n])", "{{WikiProject Georgia Tech$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Germany|Germany|Project[ _]+Germany|WP[ _]+Germany|WPGERMANY|WPGermany|WikiProject[ _]+Germany[ _]+Road[ _]+Transportation|Wikiproject[ _]+Germany|Wpg|WPDE) *\r?([\|}{<\n])", "{{WikiProject Germany$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ghana|WPGhana|GhanaProject|WP[ _]+Ghana) *\r?([\|}{<\n])", "{{WikiProject Ghana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ghost[ _]+towns|WikiProject[ _]+Ghost[ _]+towns[ _]+category|WikiProject[ _]+Ghost[ _]+towns[ _]+list|Wikiproject[ _]+Ghost[ _]+towns[ _]+empty[ _]+category) *\r?([\|}{<\n])", "{{WikiProject Ghost towns$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gibraltar|WP[ _]+Gibraltar) *\r?([\|}{<\n])", "{{WikiProject Gibraltar$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gilbert[ _]+and[ _]+Sullivan|G\&S\-category|G\&S\-project) *\r?([\|}{<\n])", "{{WikiProject Gilbert and Sullivan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Glaciers|Messagebox[ _]+glaciers) *\r?([\|}{<\n])", "{{WikiProject Glaciers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Glass|WP[ _]+Glass|Glass) *\r?([\|}{<\n])", "{{WikiProject Glass$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Global[ _]+perspective[ _]+task[ _]+force|Global[ _]+perspective[ _]+task[ _]+force) *\r?([\|}{<\n])", "{{WikiProject Global perspective task force$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Globalization|WP[ _]+Globalization) *\r?([\|}{<\n])", "{{WikiProject Globalization$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Golf|Wikiproject[ _]+Golf|WP[ _]+Golf|WPGOLF) *\r?([\|}{<\n])", "{{WikiProject Golf$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Google|WP[ _]+Google) *\r?([\|}{<\n])", "{{WikiProject Google$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Greater[ _]+Manchester|WP[ _]+Greater[ _]+Manchester|WPGM|WPMANCHESTER) *\r?([\|}{<\n])", "{{WikiProject Greater Manchester$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Greece|WP[ _]+Greece|WPGR|WPGREECE|WPGreece|WPHOG|Wpgr) *\r?([\|}{<\n])", "{{WikiProject Greece$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Green[ _]+Bay[ _]+Packers|GreenBayPackersProject) *\r?([\|}{<\n])", "{{WikiProject Green Bay Packers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Green[ _]+Politics|Wikiproject GP) *\r?([\|}{<\n])", "{{WikiProject Green Politics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Greenland|WP[ _]+Greenland|WPGreenland|Wikiproject[ _]+Greenland|Wikiproject[ _]+greenland) *\r?([\|}{<\n])", "{{WikiProject Greenland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Greyhawk|ProjectGreyhawk) *\r?([\|}{<\n])", "{{WikiProject Greyhawk$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Guatemala|WPGuatemala|WP[ _]+Guatemala) *\r?([\|}{<\n])", "{{WikiProject Guatemala$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Guinea) *\r?([\|}{<\n])", "{{WikiProject Africa|Guinea=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Guitarists|WikiProjectGuitarists|WPGUITAR|WPGTR) *\r?([\|}{<\n])", "{{WikiProject Guitarists$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Guyana|WP[ _]+Guyana) *\r?([\|}{<\n])", "{{WikiProject Guyana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Gymnastics|WP[ _]+Gymnastics|WPGYMNASTICS|WPGYM) *\r?([\|}{<\n])", "{{WikiProject Gymnastics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Caribbean\|Haiti=yes|WP[ _]+Haiti) *\r?([\|}{<\n])", "{{WikiProject Haiti$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Halo|HaloWikiProject) *\r?([\|}{<\n])", "{{WikiProject Halo$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hampshire|WP[ _]+Hampshire|Hants) *\r?([\|}{<\n])", "{{WikiProject Hampshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Handball|WP[ _]+Handball|Handball) *\r?([\|}{<\n])", "{{WikiProject Handball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hanseatic[ _]+League|WPHL) *\r?([\|}{<\n])", "{{WikiProject Hanseatic League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Harold[ _]+B\.[ _]+Lee[ _]+Library|HBLL) *\r?([\|}{<\n])", "{{WikiProject Harold B. Lee Library$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hawaii|WPHawaii|WP[ _]+Hawaii|WPHAWAII) *\r?([\|}{<\n])", "{{WikiProject Hawaii$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Health[ _]+and[ _]+fitness|WikiProject[ _]+Health|WPHEALTH|Health) *\r?([\|}{<\n])", "{{WikiProject Health and fitness$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hebrew[ _]+languages|WikiProject[ _]+Hebrew[ _]+Languages) *\r?([\|}{<\n])", "{{WikiProject Hebrew languages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hello\![ _]+Project|WikiProject[ _]+Hello\!Project) *\r?([\|}{<\n])", "{{WikiProject Hello! Project$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Help[ _]+Project|Help[ _]+project|WikiProject[ _]+Help|WP[ _]+Help) *\r?([\|}{<\n])", "{{Wikipedia Help Project$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Heraldry[ _]+and[ _]+vexillology|WPVEX|WPVEXILLOLOGY|WikiProject[ _]+Heraldry|WikiProject[ _]+Vexillology) *\r?([\|}{<\n])", "{{WikiProject Heraldry and vexillology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Herefordshire|WP[ _]+Herefordshire) *\r?([\|}{<\n])", "{{WikiProject Herefordshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hertfordshire|WPHERTS) *\r?([\|}{<\n])", "{{WikiProject Hertfordshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+HHGTTG|HHGTTGproject) *\r?([\|}{<\n])", "{{WikiProject HHGTTG$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+High[ _]+School[ _]+Musical|Wikiproject[ _]+High[ _]+School[ _]+Musical|HSM) *\r?([\|}{<\n])", "{{WikiProject High School Musical$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Higher[ _]+education[ _]|WP[ _]+Higher[ _]+Education|WPHED|WPUC|WPUNIVERSITIES|WikiProject[ _]+University|WikiProject[ _]+Universities|WP[ _]+Universities|Universities) *\r?([\|}{<\n])", "{{WikiProject Higher education$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Highlander|HL[ _]+WikiProject) *\r?([\|}{<\n])", "{{WikiProject Highlander$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Highways|HWY|HighwayProject|WP[ _]+Highways|WP[ _]+Roads|WPROADS?) *\r?([\|}{<\n])", "{{WikiProject Highways$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hiking[ _]+Trails|HikingProject) *\r?([\|}{<\n])", "{{WikiProject Hiking Trails$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hinduism|WP[ _]+Hinduism|WikiProject[ _]+Hindu[ _]+Mythology|WikiProject[ _]+Vedanta|WPHINDU) *\r?([\|}{<\n])", "{{WikiProject Hinduism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hip[ _]+hop|WPHIPHOP|WP Hip hop|WikiProject[ _]+Hiphop|WikiProject[ _]+hip[ _]+hop|WPRAP|Rap|WikiProject[ _]+Hip[ _]+Hop|WPHH) *\r?([\|}{<\n])", "{{WikiProject Hip hop$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Historic[ _]+sites|WPHSITES|WikiProject[ _]+Historic[ _]+Sites|WP[ _]+Historic[ _]+sites) *\r?([\|}{<\n])", "{{WikiProject Historic sites$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+History[ _]+of[ _]+Science|HistSci|WP[ _]+History[ _]+of[ _]+Science|WikiProject[ _]+History[ _]+of[ _]+science) *\r?([\|}{<\n])", "{{WikiProject History of Science$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WP[ _]+History|WPHIS|WikiProject[ _]+History[ _]+Coop|WikiProject[ _]+History[ _]+list|WikiProject[ _]+Colonialism|WikiProject[ _]+Ancient[ _]+Germanic[ _]+studies|WPAGS|WPHISTORY|WPDAC|WPHIST|WP[ _]+Ancient[ _]+Germanic[ _]+studies|WP[ _]+Colonial[ _]+Empires|WP[ _]+Dacia|WP[ _]+Colonialism|WikiProject[ _]+Colonial[ _]+Empires) *\r?([\|}{<\n])", "{{WikiProject History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Holidays|WPHOLIDAYS) *\r?([\|}{<\n])", "{{WikiProject Holidays$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Home[ _]+living|WP[ _]+Home[ _]+living|WPHomeliving|WikiProject[ _]+Home[ _]+living) *\r?([\|}{<\n])", "{{WikiProject Home living$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Honduras|WP[ _]+Honduras|WPHONDURAS) *\r?([\|}{<\n])", "{{WikiProject Honduras$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hong[ _]+Kong[ _]+Transport|Hong[ _]+Kong[ _]+Transport|WPHKT) *\r?([\|}{<\n])", "{{WikiProject Hong Kong Transport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hong[ _]+Kong|WP[ _]+Hong[ _]+Kong|WPHK|WPHONGKONG) *\r?([\|}{<\n])", "{{WikiProject Hong Kong$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Horror|Horror|WikiProject[ _]+Saw|HorrorWikiProject|WP[ _]+Horror|WPHORROR) *\r?([\|}{<\n])", "{{WikiProject Horror$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Horticulture[ _]+and[ _]+Gardening|Horticulture[ _]+and[ _]+Gardening[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Horticulture and Gardening$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Horse[ _]+racing|Horse[ _]+racing|WikiProject[ _]+Thoroughbred[ _]+racing|Thoroughbred[ _]+racing) *\r?([\|}{<\n])", "{{WikiProject Horse racing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hospitals|WP[ _]+Hospitals?) *\r?([\|}{<\n])", "{{WikiProject Hospitals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hotels|Wphotels|WPHOTELS|WP[ _]+Hotels) *\r?([\|}{<\n])", "{{WikiProject Hotels$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Houston|WPHOUSTON|WPHouston|WP[ _]+Houston) *\r?([\|}{<\n])", "{{WikiProject Houston$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hudson[ _]+Valley|Hudson[ _]+Valley) *\r?([\|}{<\n])", "{{WikiProject Hudson Valley$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Human[ _]+Genetic[ _]+History|WikiProject[ _]+HGH) *\r?([\|}{<\n])", "{{WikiProject Human Genetic History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Human[ _]+rights|WikiProject[ _]+Human[ _]+Rights|WP[ _]+Human[ _]+rights|WPHUMANRIGHTS|WPHR) *\r?([\|}{<\n])", "{{WikiProject Human rights$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Hungary|WPHUN|WPHUNGARY|WP[ _]+Hungary|WPHungary) *\r?([\|}{<\n])", "{{WikiProject Hungary$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ice[ _]+Hockey|ice[ _]+hockey|Blue[ _]+Jackets|Ice[ _]+Hockey|Ice[ _]+hockey|WP[ _]+Hockey|WP[ _]+Ice[ _]+Hockey|WP[ _]+Ice[ _]+hockey|WikiProject[ _]+Ice[ _]+hockey|WPHOCKEY|WikiProject[ _]+Hockey) *\r?([\|}{<\n])", "{{WikiProject Ice Hockey$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Iceland|WPICELAND|WPIceland|WP[ _]+Iceland) *\r?([\|}{<\n])", "{{WikiProject Iceland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Idaho|WPIDAHO|WP[ _]+Idaho) *\r?([\|}{<\n])", "{{WikiProject Idaho$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Illinois|WPILLINOIS|Wikiproject[ _]+Illinois|WP[ _]+Illinois) *\r?([\|}{<\n])", "{{WikiProject Illinois$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+India|WP[ _]+Bangalore|WP[ _]+India|WPINDIA|WPIndia|WikiProject[ _]+Indian[ _]+cinema) *\r?([\|}{<\n])", "{{WikiProject India$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indian[ _]+Law|WP[ _]+Indian[ _]+Law) *\r?([\|}{<\n])", "{{WikiProject Indian Law$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indian[ _]+roads|INRD) *\r?([\|}{<\n])", "{{WikiProject Indian roads$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indian[ _]+Premier[ _]+League|WP[ _]+IPL) *\r?([\|}{<\n])", "{{WikiProject Indian Premier League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indiana|WP[ _]+Indiana|WPINDIANA) *\r?([\|}{<\n])", "{{WikiProject Indiana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indiana[ _]+Historical[ _]+Society|WikiProject[ _]+GLAM\-IHS) *\r?([\|}{<\n])", "{{WikiProject Indiana Historical Society$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indianapolis[ _]+Colts|IndianapolisColtsProject) *\r?([\|}{<\n])", "{{WikiProject Indianapolis Colts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indigenous[ _]+peoples[ _]+of[ _]+North[ _]+America/Anishinaabe|NorthAmNative/Anishinaabe|WikiProject[ _]+NorthAmNative/Anishinaabe) *\r?([\|}{<\n])", "{{WikiProject Indigenous peoples of North America/Anishinaabe$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indigenous[ _]+peoples[ _]+of[ _]+North[ _]+America|NorthAmNative|WPNATIVE|WPNATIVEAMERICAN|IPNA) *\r?([\|}{<\n])", "{{WikiProject Indigenous peoples of North America$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indigenous[ _]+peoples[ _]+of[ _]+the[ _]+Americas|Amerind|WPIPA|WP[ _]+IPA) *\r?([\|}{<\n])", "{{WikiProject Indigenous peoples of the Americas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Indonesia|WPINDONESIA|WP[ _]+Indonesia) *\r?([\|}{<\n])", "{{WikiProject Indonesia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Industrial|WP[ _]+Industrial|WPINDU|WPIM) *\r?([\|}{<\n])", "{{WikiProject Industrial$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Industrial[ _]+design|WPIndustrial[ _]+design) *\r?([\|}{<\n])", "{{WikiProject Industrial design$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Inheritance[ _]+Cycle|Wpinheritance) *\r?([\|}{<\n])", "{{WikiProject Inheritance Cycle$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Inline[ _]+Templates|WPILT[ _]+banner|WikiProject[ _]+Inline[ _]+templates) *\r?([\|}{<\n])", "{{WikiProject Inline Templates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Insects|WP[ _]+Insect|WP[ _]+Insects|Insect|WikiProject[ _]+Bugs) *\r?([\|}{<\n])", "{{WikiProject Insects$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Intelligent[ _]+design|WPID|WikiProject[ _]+Intelligent[ _]+Design|WikiProject[ _]+intelligent[ _]+design) *\r?([\|}{<\n])", "{{WikiProject Intelligent design$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+International[ _]+relations|intrel|WP[ _]+International[ _]+Relations|WP[ _]+International[ _]+relations|WPDIPLOMACY|WPIR|WikiProject[ _]+Diplomacy|WP[ _]+Diplomacy|WikiProject[ _]+Foreign[ _]+relations|WikiProject[ _]+International[ _]+Relations) *\r?([\|}{<\n])", "{{WikiProject International relations$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Internet[ _]+culture|IPC\-project|Internet[ _]+culture|WP[ _]+Internet[ _]+culture|WPIC|WikiProject[ _]+Internet[ _]+Culture|Wikiproject[ _]+internet[ _]+culture) *\r?([\|}{<\n])", "{{WikiProject Internet culture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Internet|Wpi|WPI|WP[ _]+Internet|WPInternet) *\r?([\|}{<\n])", "{{WikiProject Internet$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Invention|WP[ _]+Invention) *\r?([\|}{<\n])", "{{WikiProject Invention$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Investment|WPINVESTMENT|WP[ _]+Investment) *\r?([\|}{<\n])", "{{WikiProject Investment$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Iowa|WPIowa|WPIOWA|WP[ _]+Iowa|Project[ _]+Iowa) *\r?([\|}{<\n])", "{{WikiProject Iowa$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Iran|WPTIR|WPIRAN|WPIran|WP[ _]+Iran|WikiProject[ _]+Persia) *\r?([\|}{<\n])", "{{WikiProject Iran$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Iraq|WP[ _]+Iraq|Wp[ _]+iraq|Iraq|WPIRAQ|WPIQ) *\r?([\|}{<\n])", "{{WikiProject Iraq$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+IRC|IRC[ _]+bots|IRC[ _]+bots|IRC[ _]+bouncers|IRC[ _]+clients|IRC[ _]+clients[ _]+amigaos|IRC[ _]+clients[ _]+macos|IRC[ _]+clients[ _]+msdos|IRC[ _]+clients[ _]+multiplatform|IRC[ _]+clients[ _]+unix|IRC[ _]+clients[ _]+windows|IRC[ _]+daemons|IRC[ _]+networks|IRC[ _]+topics) *\r?([\|}{<\n])", "{{WikiProject IRC$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ireland|WP[ _]+Ireland|WPIRELAND|WPIRL[ _]+Cat|WPIRL[ _]+Category|WPIRL[ _]+cat|WPIRL[ _]+category|WPIre|WPIreland|WikiProject[ _]+Ireland[ _]+Category|WikiProject[ _]+Ireland[ _]+category|WikiProject[ _]+Irish[ _]+Literature) *\r?([\|}{<\n])", "{{WikiProject Ireland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Irish[ _]+Maritime|WPIrish[ _]+Maritime) *\r?([\|}{<\n])", "{{WikiProject Irish Maritime$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Irish[ _]+music|WikiProject[ _]+Irish[ _]+Music[ _]+Talk) *\r?([\|}{<\n])", "{{WikiProject Irish music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Irish[ _]+Republicanism|WP IR|WikiProject IRA|WikiProject IrRep) *\r?([\|}{<\n])", "{{WikiProject Irish Republicanism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Islam|WikiProject[ _]+Sunni[ _]+Islam|WPISLAM|WP[ _]+Islam) *\r?([\|}{<\n])", "{{WikiProject Islam$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Islands|Islands|WPISLANDS) *\r?([\|}{<\n])", "{{WikiProject Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Israel[ _]+Palestine[ _]+Collaboration|Banner[ _]+WPIPC) *\r?([\|}{<\n])", "{{WikiProject Israel Palestine Collaboration$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Israel|Israel|WP[ _]+Israel|WPISRAEL|WPIsrael|WikiProject[ _]+Israel[ _]+category) *\r?([\|}{<\n])", "{{WikiProject Israel$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Italy|WPITALY|WP[ _]+Italy|WPItaly|Wpitaly) *\r?([\|}{<\n])", "{{WikiProject Italy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ivory[ _]Coast) *\r?([\|}{<\n])", "{{WikiProject Africa|Côte d'Ivoire=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jainism|WP[ _]+Jainism) *\r?([\|}{<\n])", "{{WikiProject Jainism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jamaica|WPJamaica) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Jamaica=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Japan|Nihon|WP[ _]+Japan|WPJ|WPJA|WPJAPAN|WPJapan|WikiProjectJapan|Wikiproject[ _]+Japan|Wikiproject[ _]+japan) *\r?([\|}{<\n])", "{{WikiProject Japan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jazz|WPJAZZ|WPJZ|WPJazz|WP[ _]+Jazz|Jazz-music-project) *\r?([\|}{<\n])", "{{WikiProject Jazz$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jennifer[ _]+Lopez|WPJLO) *\r?([\|}{<\n])", "{{WikiProject Jennifer Lopez$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jewish[ _]+culture|WikiProject[ _]+Jewish[ _]+Culture|WPJEWS) *\r?([\|}{<\n])", "{{WikiProject Jewish culture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jewish[ _]+history|WP[ _]+Jewish[ _]+history|WikiProject[ _]+Jewish[ _]+History|WPJH|WPJEW) *\r?([\|}{<\n])", "{{WikiProject Jewish history$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jewish[ _]+Women|WPJW) *\r?([\|}{<\n])", "{{WikiProject Jewish Women$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Jordan|WPJORDAN|WP[ _]+Jordan|WPJordan) *\r?([\|}{<\n])", "{{WikiProject Jordan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Journalism|WP[ _]+Journalism|WPJournalism|Wikiproject[ _]+Journalism|WPNEWS) *\r?([\|}{<\n])", "{{WikiProject Journalism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Judaism|WP[ _]+Judaism|WPJEWISH|WPJUDAISM|WPJudaism|Wikiproject[ _]+Judaism|WP[ _]+Jew) *\r?([\|}{<\n])", "{{WikiProject Judaism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kansas[ _]+City[ _]+Chiefs|ChiefsProject) *\r?([\|}{<\n])", "{{WikiProject Kansas City Chiefs$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kansas[ _]+City|KCMO) *\r?([\|}{<\n])", "{{WikiProject Kansas City$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kansas|Project[ _]+Kansas|Wikiproject[ _]+Kansas|WP[ _]+Kansas|WPKANSAS|WPKansas) *\r?([\|}{<\n])", "{{WikiProject Kansas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kayaking|Kayaking|WikiProject[ _]+Canoeing) *\r?([\|}{<\n])", "{{WikiProject Kayaking$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kazakhstan|WP[ _]+Kazakhstan) *\r?([\|}{<\n])", "{{WikiProject Central Asia|Kazakhstan=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kent|Kent) *\r?([\|}{<\n])", "{{WikiProject Kent$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kentucky|WPKENTUCKY|WPKY|WP[ _]+Kentucky) *\r?([\|}{<\n])", "{{WikiProject Kentucky$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kenya|WP[ _]+Kenya|WPKenya) *\r?([\|}{<\n])", "{{WikiProject Africa|Kenya=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Khitan|WPKHITAN) *\r?([\|}{<\n])", "{{WikiProject Khitan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+King[ _]+Arthur|WP[ _]+King[ _]+Arthur) *\r?([\|}{<\n])", "{{WikiProject King Arthur$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+KLF|WPKLF) *\r?([\|}{<\n])", "{{WikiProject KLF$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Knots|KnotsProject) *\r?([\|}{<\n])", "{{WikiProject Knots$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Korea|WP[ _]+KOREA|WP[ _]+Korea|WPKOREA|WPKorea|WikiProject[ _]+KOREA|WikiProject[ _]+Korea\/old|WikiProject[ _]+korea|Wikiproject[ _]+Korea|Wikiproject[ _]+korea|WP[ _]+South[ _]+Korea) *\r?([\|}{<\n])", "{{WikiProject Korea$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kosovo|WP[ _]+Kosovo|WPKOSOVO|WPKS|Wikiproject[ _]+Kosovo) *\r?([\|}{<\n])", "{{WikiProject Kosovo$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kurdistan|WPKurds|WP[ _]+Kurdistan|WPKURDISTAN|WPKU) *\r?([\|}{<\n])", "{{WikiProject Kurdistan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kuwait|WP[ _]+Kuwait) *\r?([\|}{<\n])", "{{WikiProject Kuwait$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kylie[ _]+Minogue|WPKylie) *\r?([\|}{<\n])", "{{WikiProject Kylie Minogue$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Kyrgyzstan|WP[ _]+Kyrgyzstan) *\r?([\|}{<\n])", "{{WikiProject Kyrgyzstan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lacrosse|WP[ _]+Lacrosse|Lacrosse) *\r?([\|}{<\n])", "{{WikiProject Lacrosse$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lady[ _]+Gaga|WP[ _]+Lady[ _]+Gaga|WPLG) *\r?([\|}{<\n])", "{{WikiProject Lady Gaga$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lagos|WP[ _]+Lagos) *\r?([\|}{<\n])", "{{WikiProject Lagos$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lakes|Lake[ _]+project|Lakes?|WP[ _]+Lake|WPLAKES?) *\r?([\|}{<\n])", "{{WikiProject Lakes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lancashire[ _]+and[ _]+Cumbria|WPL\&C|WikiProject[ _]+Cumbria|WikiProject[ _]+Lancashire) *\r?([\|}{<\n])", "{{WikiProject Lancashire and Cumbria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Languages|LanguageTalk|WP[ _]+Language|WP[ _]+Languages|WP[ _]+languages|WPLANG|WikiProject[ _]+languages|Wplang|WikiProject[ _]+Philology) *\r?([\|}{<\n])", "{{WikiProject Languages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lanka[ _]+Premier[ _]+League|WP[ _]+LPL) *\r?([\|}{<\n])", "{{WikiProject Lanka Premier League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latin[ _]+America|WP[ _]+Latin[ _]+America|WPLAMERICA) *\r?([\|}{<\n])", "{{WikiProject Latin America$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latin|WP[ _]+Latin) *\r?([\|}{<\n])", "{{WikiProject Latin$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latin[ _]+music|WP[ _]+Latin[ _]+music|Latin[ _]+music|WPLM) *\r?([\|}{<\n])", "{{WikiProject Latin music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latinos|WPLATINOS) *\r?([\|}{<\n])", "{{WikiProject Latinos$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latter[ _]+Day[ _]+Saint[ _]+movement|LDSproject) *\r?([\|}{<\n])", "{{WikiProject Latter Day Saint movement$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Latvia|WPLATVIA|WPLatvia|WP[ _]+Latvia) *\r?([\|}{<\n])", "{{WikiProject Latvia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Law[ _]+Enforcement|Law[ _]+enforcement|WP[ _]+Law[ _]+Enforcement|WPLE|WikiProject[ _]+Law[ _]+enforcement|WikiProject[ _]+Police|WPPOLICE) *\r?([\|}{<\n])", "{{WikiProject Law Enforcement$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Law|WPLAW|WPLaw|WikiProject[ _]+law|WP[ _]+Law) *\r?([\|}{<\n])", "{{WikiProject Law$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lebanon|WPLEBANON|WP[ _]+Lebanon) *\r?([\|}{<\n])", "{{WikiProject Lebanon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Led[ _]+Zeppelin|WPLZ) *\r?([\|}{<\n])", "{{WikiProject Led Zeppelin$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lepidoptera|LepidopteraTalk|WP[ _]+Lepidoptera|WikiProject[ _]+Butterflies|WikiProject[ _]+Moths|WP[ _]+Butterfly|WPLEPIDOPTERA) *\r?([\|}{<\n])", "{{WikiProject Lepidoptera$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lesotho) *\r?([\|}{<\n])", "{{WikiProject Africa|Lesotho=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+LGBT[ _]+studies|LGBTProject|LGBT[ _]+Wikiproject|WP[ _]+LGBT|WPLGBT|WikiProject[ _]+LGBT|WikiProject[ _]+LGBT[ _]+Studies|WP[ _]+LGBT[ _]+studies) *\r?([\|}{<\n])", "{{WikiProject LGBT studies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Liberalism|WPLiberalism|WP[ _]+Liberalism) *\r?([\|}{<\n])", "{{WikiProject Politics|liberalism=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Liberia) *\r?([\|}{<\n])", "{{WikiProject Africa|Liberia=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Libertarianism|WPLIBERTARIANISM|WPLibertarianism) *\r?([\|}{<\n])", "{{WikiProject Libertarianism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Libraries|Library|WP[ _]+Libraries|WPLIBRARIES|WP[ _]+Library|WPLIBRARY|WPLibrarians) *\r?([\|}{<\n])", "{{WikiProject Libraries$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Library[ _]+of[ _]+Congress[ _]+Country[ _]+Studies|LOCproj) *\r?([\|}{<\n])", "{{WikiProject Library of Congress Country Studies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Libya|WP[ _]+Libya|WPLIBYA) *\r?([\|}{<\n])", "{{WikiProject Africa|Libya=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lighthouses|Lighthouse) *\r?([\|}{<\n])", "{{WikiProject Lighthouses$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Linguistics|Project[ _]+Theoretical[ _]+Linguistics|WP[ _]+Etymology|WP[ _]+Lingistics|WP[ _]+Linguistics|WP[ _]+Phonetics|WPLING|WPLINGUISTICS|WPTL|WikiProject[ _]+Etymology|WikiProject[ _]+Phonetics|WikiProject[ _]+Theoretical[ _]+Linguistics|WikiProject[ _]+linguistics) *\r?([\|}{<\n])", "{{WikiProject Linguistics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Linux|Tuxproj|Linuxproject|WPLinux) *\r?([\|}{<\n])", "{{WikiProject Linux$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lists|WPLISTS|WPLIST|WP[ _]+Lists) *\r?([\|}{<\n])", "{{WikiProject Lists$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Literature|WP[ _]+Literature|WPLIT|WPLITERATURE|WPLit|WikiProject[ _]+literature) *\r?([\|}{<\n])", "{{WikiProject Literature$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lithuania|WPLITHUANIA|WPLithuania|WP[ _]+Lithuania) *\r?([\|}{<\n])", "{{WikiProject Lithuania$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+London[ _]+Transport|Tube|WPLT|WP[ _]+London[ _]+Transport) *\r?([\|}{<\n])", "{{WikiProject London Transport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+London|WP[ _]+London|WPLONDON|WPLondon) *\r?([\|}{<\n])", "{{WikiProject London$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Long[ _]+Island|WikiProject[ _]+Long[ _]+Island[ _]+Banner|WikiProject[ _]+Long[ _]+Island[ _]+banner|WPLI|WP[ _]+Long[ _]+Island) *\r?([\|}{<\n])", "{{WikiProject Long Island$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Louisiana|WPLOUISIANA) *\r?([\|}{<\n])", "{{WikiProject Louisiana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lower[ _]+Saxony|WP[ _]+Lower[ _]+Saxony) *\r?([\|}{<\n])", "{{WikiProject Lower Saxony$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Lutheranism|WP[ _]+Lutheranism|WPLUTHERANISM) *\r?([\|}{<\n])", "{{WikiProject Lutheranism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Luxembourg|WP[ _]+Luxembourg|WikiProject[ _]+Luxembourg[ _]+article|WPLuxembourg) *\r?([\|}{<\n])", "{{WikiProject Luxembourg$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Macau|WPMacau|WPMACAU) *\r?([\|}{<\n])", "{{WikiProject Macau$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Machinima|MachinimaWikiProject|WPMachinima) *\r?([\|}{<\n])", "{{WikiProject Machinima$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Madagascar|WP[ _]+Madagascar) *\r?([\|}{<\n])", "{{WikiProject Africa|Madagascar=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Magazines|WP[ _]+Magazine|WP[ _]+Magazines|WPMAGAZINES?|WPMAG|WPMAGS|WPMag|WPMags|WikiProject[ _]+Magazine) *\r?([\|}{<\n])", "{{WikiProject Magazines$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Magic\:[ _]+The[ _]+Gathering|Mtgproject) *\r?([\|}{<\n])", "{{WikiProject Magic: The Gathering$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Magic|Magic) *\r?([\|}{<\n])", "{{WikiProject Magic$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Maine|WP[ _]+Maine|WPMAINE) *\r?([\|}{<\n])", "{{WikiProject Maine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Malawi) *\r?([\|}{<\n])", "{{WikiProject Africa|Malawi=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Malaysia|WP[ _]+Malaysia|WPMALAYSIA|Wikiproject[ _]+Malaysia|WPMalaysia) *\r?([\|}{<\n])", "{{WikiProject Malaysia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Maldives|WP[ _]+Maldives|WPMaldives) *\r?([\|}{<\n])", "{{WikiProject Maldives$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mali|WP[ _]+Mali) *\r?([\|}{<\n])", "{{WikiProject Africa|Mali=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Malta|WPMALTA|WP[ _]+Malta) *\r?([\|}{<\n])", "{{WikiProject Malta$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mammals|MaMTalk|MaTalk|Mammals[ _]+WikiProject|WPM|MammalTalk|WPMammals|WPMAM|WP[ _]+Animal|WP[ _]+Mammals|Mammal) *\r?([\|}{<\n])", "{{WikiProject Mammals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Manual[ _]+of[ _]+Style|WPMOS) *\r?([\|}{<\n])", "{{WikiProject Manual of Style$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Marine[ _]+life|WPMBA|Marine[ _]+life|Marine[ _]+Life[ _]+Talk) *\r?([\|}{<\n])", "{{WikiProject Marine life$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Maritime[ _]+Trades|WPMT) *\r?([\|}{<\n])", "{{WikiProject Maritime Trades$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mars|WPMars) *\r?([\|}{<\n])", "{{WikiProject Mars$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Martial[ _]+arts|WP[ _]+Martial[ _]+Arts|Martialartsproject|WikiProject[ _]+Martial[ _]+Arts|WP[ _]+Judo) *\r?([\|}{<\n])", "{{WikiProject Martial arts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Martinique) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Martinique=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Maryland|WPMARYLAND|WPMD|WP[ _]+Maryland) *\r?([\|}{<\n])", "{{WikiProject Maryland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Massachusetts|Project[ _]+massachusetts[ _]+assessment|WPMASSACHUSETTS|WPMASSASCHUSETTS|WPMASS|WP[ _]+Massachusetts|WPMassachusetts|Project[ _]+Massachusetts) *\r?([\|}{<\n])", "{{WikiProject Massachusetts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Materials[ _]|WP[ _]+Materials) *\r?([\|}{<\n])", "{{WikiProject Materials$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mathematics|WikiProject[ _]+Mathematics[ _]+rating|WikiProject[ _]+Maths?|WP[ _]+Mathematics|WP[ _]*Maths?|WPMATHEMATICS|WPMATH|Maths?[ _]*rating|Maths[ _]+rating[ _]+small|Maths|Maths?[ _]+banner) *\r?([\|}{<\n])", "{{WikiProject Mathematics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mathematics[ _]+Competitions|WPMC) *\r?([\|}{<\n])", "{{WikiProject Mathematics Competitions$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mauritania) *\r?([\|}{<\n])", "{{WikiProject Africa|Mauritania=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mauritius|WP[ _]+Mauritius) *\r?([\|}{<\n])", "{{WikiProject Mauritius$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Measurement|Measure|Measurement|WP[ _]+Measurements|WPMeasure|Wp[ _]+measurement) *\r?([\|}{<\n])", "{{WikiProject Measurement$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Media[ _]+franchises|WikiProject[ _]+Media[ _]+franchises[ _]+CoopBanner) *\r?([\|}{<\n])", "{{WikiProject Media franchises$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Media|WPMedia|WPMEDIA|WP[ _]+Media) *\r?([\|}{<\n])", "{{WikiProject Media$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Medicine|CMedWikiProject|WP[ _]+Medicine|WPMED|WPMEDICINE|WPMedicine|WikiProject[ _]+Emergency[ _]+medical[ _]+services|Wikiproject[ _]+Medicine|Wikiproject[ _]+Medicines|WPMedical) *\r?([\|}{<\n])", "{{WikiProject Medicine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Medieval[ _]+Scotland|Medieval[ _]+Scotland) *\r?([\|}{<\n])", "{{WikiProject Medieval Scotland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Melanesia|WP[ _]+Melanesia|WPMELANESIA) *\r?([\|}{<\n])", "{{WikiProject Melanesia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vanuatu) *\r?([\|}{<\n])", "{{WikiProject Melanesia|Vanuatu=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Men's[ _]+Issues|WikiProject[ _]+Men|WP[ _]+Men|WPMEN) *\r?([\|}{<\n])", "{{WikiProject Men's Issues$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Merseyside|WPMERSEY) *\r?([\|}{<\n])", "{{WikiProject Merseyside$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mesoamerica|Project[ _]+Aztec|ProjectAztec|WP[ _]+Aztec|WP[ _]+Mesoamerica) *\r?([\|}{<\n])", "{{WikiProject Mesoamerica$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Metal|Wikiproject[ _]+Metal|HMM|WP[ _]+Metal|Metal|WPHM) *\r?([\|}{<\n])", "{{WikiProject Metal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Metalworking|Metalworking|WP[ _]+Metalworking|WikiProject[ _]+metalworking|Wikiproject[ _]+metalworking) *\r?([\|}{<\n])", "{{WikiProject Metalworking$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Method[ _]+engineering|MEEproj) *\r?([\|}{<\n])", "{{WikiProject Method engineering$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mexico|ProjectMexico|WPMEXICO|WP[ _]+Mexico|Mexico|WPMEX) *\r?([\|}{<\n])", "{{WikiProject Mexico$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Michigan|WPMICHIGAN|WP[ _]+Michigan) *\r?([\|}{<\n])", "{{WikiProject Michigan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Microbiology|Microbiology|WP[ _]+Microbiology|WikiProject[ _]+Micro) *\r?([\|}{<\n])", "{{WikiProject Microbiology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Microformats|ProjectMicroformats) *\r?([\|}{<\n])", "{{WikiProject Microformats$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Micronesia|WikiProject[ _]+Marshall[ _]+Islands|WP[ _]+Micronesia|WPMICRONESIA|WPMicronesia|WikiProject[ _]+Guam) *\r?([\|}{<\n])", "{{WikiProject Micronesia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Microsoft|WP[ _]+Microsoft) *\r?([\|}{<\n])", "{{WikiProject Microsoft$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Microsoft[ _]+Windows|WikiProject[ _]+Windows|WPWindows) *\r?([\|}{<\n])", "{{WikiProject Microsoft Windows$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Middle[ _]+Ages|WPMA|WP[ _]+Middle[ _]+Ages) *\r?([\|}{<\n])", "{{WikiProject Middle Ages$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Middle\-earth|ME\-category|ME\-project|ME\-template|Me\-project|Tolkien\-project|WPME|WPMiddle\-earth) *\r?([\|}{<\n])", "{{WikiProject Middle-earth$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Military[ _]+history|WPMILHIST|MILHIST|Milhist|Military[ _]+history[ _]+WikiProject|WP[ _]+Military[ _]+History|WPCAS|WikiProject[ _]+Colditz|WikiProject[ _]+Military[ _]+History|WPMIL|WPMH) *\r?([\|}{<\n])", "{{WikiProject Military history$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mining|WP[ _]+Mining|WPMINING|Mining) *\r?([\|}{<\n])", "{{WikiProject Mining$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Minnesota|WPMINNESOTA|WP[ _]+Minnesota|WPMINN) *\r?([\|}{<\n])", "{{WikiProject Minnesota$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Missing[ _]+encyclopedic[ _]+articles|MEA-expand|Wikipedia\:WikiProject Missing encyclopedic articles) *\r?([\|}{<\n])", "{{WikiProject Missing encyclopedic articles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mississippi|WPMISS|WPMiss|WPMISSISSIPPI|WP[ _]+Mississippi) *\r?([\|}{<\n])", "{{WikiProject Mississippi$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Missouri|WPMissouri|WPMISSOURI|WP[ _]+Missouri|WPMO|WP[ _]+MO) *\r?([\|}{<\n])", "{{WikiProject Missouri$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mixed[ _]+martial[ _]+arts|WikiProject[ _]+Mixed[ _]+Martial[ _]+Arts) *\r?([\|}{<\n])", "{{WikiProject Mixed martial arts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mizzou|WikiProject[ _]+University[ _]+of[ _]+Missouri|WikiProject[ _]+Mizzou[ _]+people) *\r?([\|}{<\n])", "{{WikiProject Mizzou$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Moldova|WPMoldova|WP[ _]+Moldova) *\r?([\|}{<\n])", "{{WikiProject Moldova$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mongols|WikiProject[ _]+Mongolia|WP[ _]+Mongols|WP[ _]+Mongolia|WPMONGOLIA) *\r?([\|}{<\n])", "{{WikiProject Mongols$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Montana|WPMONTANA|WP[ _]+Montana) *\r?([\|}{<\n])", "{{WikiProject Montana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Monaco|WP[ _]+Monaco) *\r?([\|}{<\n])", "{{WikiProject European Microstates|Monaco=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Montenegro|WP[ _]+Montenegro|WPMontenegro|WPMNE) *\r?([\|}{<\n])", "{{WikiProject Montenegro$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Moon|WPMoon) *\r?([\|}{<\n])", "{{WikiProject Moon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Morocco|Wikiproject[ _]+Morocco|WPMOROCCO|WPMorocco|WP[ _]+Morocco) *\r?([\|}{<\n])", "{{WikiProject Morocco$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Motorcycle[ _]+racing|Motorcycle[ _]+Racing) *\r?([\|}{<\n])", "{{WikiProject Motorcycle racing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Motorcycling|Motorcycling|Motorcycle[ _]+article|WikiProject[ _]+Motorcycle|WP[ _]+Motorcycling) *\r?([\|}{<\n])", "{{WikiProject Motorcycling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Motorhead|WPMotorhead) *\r?([\|}{<\n])", "{{WikiProject Motorhead$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Motorsport|WPMS|Motorsport|WikiProject[ _]+Motorsports|WP[ _]+Motorsport|WP[ _]+Motorsports|WPMOTORSPORT) *\r?([\|}{<\n])", "{{WikiProject Motorsport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mountains[ _]+of[ _]+the[ _]+Alps|Mountains[ _]+of[ _]+the[ _]+Alps) *\r?([\|}{<\n])", "{{WikiProject Mountains of the Alps$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mountains|Mountain|WP[ _]+Mountains|Wpm|Mountain[ _]+Pass|WikiProject[ _]+Mountain[ _]+Passes) *\r?([\|}{<\n])", "{{WikiProject Mountains$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mozambique) *\r?([\|}{<\n])", "{{WikiProject Africa|Mozambique=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Multi-sport[ _]+events|WPMultiSport|WPMulti-sport[ _]+events|WPMSE|WP[ _]+MSE|WikiProject[ _]+Multi-sport[ _]+event|WikiProject[ _]+Multisport[ _]+event|WikiProject[ _]+multisport[ _]+event|WikiProject[ _]+multisport[ _]+events|WikiProject[ _]+Multisport[ _]+events|WP[ _]+Multi-sport[ _]+events) *\r?([\|}{<\n])", "{{WikiProject Multi-sport events$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Museum[ _]+of[ _]+Modern[ _]+Art|MoMA|WPMoMA) *\r?([\|}{<\n])", "{{WikiProject Museum of Modern Art$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Museums|WikiProject[ _]+Museum|WPMUSEUMS|WPMUSEUM|WP[ _]+Museum|WP[ _]+Museums) *\r?([\|}{<\n])", "{{WikiProject Museums$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Music[ _]+genres|WikiProject[ _]+Music[ _]+Genres|Genre) *\r?([\|}{<\n])", "{{WikiProject Music/Music genres task force$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Music[ _]+of[ _]+the[ _]+United[ _]+Kingdom|WP[ _]+UKMusic) *\r?([\|}{<\n])", "{{WikiProject Music of the United Kingdom$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Music[ _]+Theory|WP[ _]+Music[ _]+Theory|WikiProject[ _]+Music[ _]+theory) *\r?([\|}{<\n])", "{{WikiProject Music Theory$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Music[ _]+venues[ _]+task[ _]+force|Music[ _]+venues|WikiProject[ _]+Music[ _]+venues) *\r?([\|}{<\n])", "{{WikiProject Music venues task force$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Musical[ _]+Instruments|Catbox[ _]+WPMusInst|WPMUSINST|WPMusInst) *\r?([\|}{<\n])", "{{WikiProject Musical Instruments$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Musical[ _]+Theatre|Musicals|Musicals-Project|Musicals-project) *\r?([\|}{<\n])", "{{WikiProject Musical Theatre$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Musicians) *\r?([\|}{<\n])", "{{WikiProject Biography|musician-work-group=yes|musician-priority=$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Myanmar|WikiProjectBurma\/Myanmar|WPBURMA|WikiProject[ _]+Burma|WP[ _]+Burma|WikiProject[ _]+Burma[ _]+\(Myanmar\)|WP[ _]+Myanmar) *\r?([\|}{<\n])", "{{WikiProject Myanmar$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Mythology|WP[ _]+Mythology|WikiProject[ _]+mythology|Wikiproject[ _]+Mythology|Wikiproject[ _]+mythology) *\r?([\|}{<\n])", "{{WikiProject Mythology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+NASCAR|Wikiproject[ _]+NASCAR|WPN|WPNASCAR) *\r?([\|}{<\n])", "{{WikiProject NASCAR$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Namibia) *\r?([\|}{<\n])", "{{WikiProject Africa|Namibia=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+National[ _]+Archives|WPNARA) *\r?([\|}{<\n])", "{{WikiProject National Archives$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+National[ _]+Football[ _]+League|NFL[ _]+Project|NFLProject|NFLproject|WikiProject[ _]+NFL|WP[ _]+NFL) *\r?([\|}{<\n])", "{{WikiProject National Football League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+National[ _]+Health[ _]+Service|WPNationalHealthService) *\r?([\|}{<\n])", "{{WikiProject National Health Service$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+National[ _]+Institutes[ _]+of[ _]+Health|WikiProject[ _]+NIH) *\r?([\|}{<\n])", "{{WikiProject National Institutes of Health$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+National[ _]+Register[ _]+of[ _]+Historic[ _]+Places|WikiProject[ _]+National[ _]+Register[ _]+of[ _]+Historic[ _]+Places[ _]+list|WikiProject[ _]+National[ _]+Register[ _]+of[ _]+Historic[ _]+Places[ _]+category|WikiProject[ _]+NRHP|WPNRHP|Wikiproject[ _]+NRHP|NRHP[ _]+Wikiproject|WP[ _]+NRHP) *\r?([\|}{<\n])", "{{WikiProject National Register of Historic Places$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+NBA|WP[ _]+NBA|NBA[ _]+project|WikiProject[ _]+Phoenix[ _]+Suns|WikiProject[ _]+Cleveland[ _]+Cavaliers|WikiProject[ _]+Dallas[ _]+Mavericks|WikiProject[ _]+Chicago[ _]+Bulls|NBA[ _]+Project|Wikiproject[ _]+NBA) *\r?([\|}{<\n])", "{{WikiProject National Basketball Association$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+NCSLC|NCSLC) *\r?([\|}{<\n])", "{{WikiProject NCSLC$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nebraska|WPNEBRASKA) *\r?([\|}{<\n])", "{{WikiProject Nebraska$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Neopaganism|WikiProjectNeopaganism) *\r?([\|}{<\n])", "{{WikiProject Neopaganism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nepal|WPNEPAL|WP[ _]+Nepal) *\r?([\|}{<\n])", "{{WikiProject Nepal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Netball|Netball) *\r?([\|}{<\n])", "{{WikiProject Netball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Netherlands|WPNL|Netherlands|WP[ _]+Netherlands|WPNETHERLANDS|WPNetherlands|Wikiproject[ _]+Netherlands|WikiProject[ _]+Holland|WP[ _]+Holland|WPHolland) *\r?([\|}{<\n])", "{{WikiProject Netherlands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Neuroscience|WPNEURO|WP[ _]+Neuroscience) *\r?([\|}{<\n])", "{{WikiProject Neuroscience$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nevada|WPNEVADA|WP[ _]+Nevada) *\r?([\|}{<\n])", "{{WikiProject Nevada$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Las[ _]+Vegas|Wplv) *\r?([\|}{<\n])", "{{WikiProject Nevada|Las Vegas=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+England[ _]+Patriots|NewEnglandPatriotsProject|NewEnglandPatriotsproject) *\r?([\|}{<\n])", "{{WikiProject New England Patriots$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+Hampshire|Project[ _]+new[ _]+hampshire|WPNH|Project[ _]+New[ _]+Hampshire|WP[ _]+New[ _]+Hampshire) *\r?([\|}{<\n])", "{{WikiProject New Hampshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+Jersey|Wikiproject[ _]+New[ _]+Jersey|WPNJ|Project[ _]+New[ _]+Jersey|WP[ _]+New[ _]+Jersey|WPNewJersey|WP[ _]+NJ) *\r?([\|}{<\n])", "{{WikiProject New Jersey$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+Mexico|WPNEWMEXICO) *\r?([\|}{<\n])", "{{WikiProject New Mexico$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+Orleans|WPNEWORLEANS) *\r?([\|}{<\n])", "{{WikiProject New Orleans$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York[ _]+City[ _]+Public[ _]+Transportation|NYPT|WPNYPT) *\r?([\|}{<\n])", "{{WikiProject New York City Public Transportation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York[ _]+City|WPNYC|WP[ _]+NYC|Project[ _]+NYC|WikiProject[ _]+NYC|Wikiproject[ _]+New[ _]+York[ _]+City|Project[ _]+New[ _]+York[ _]+City|WP[ _]+New[ _]+York[ _]+City) *\r?([\|}{<\n])", "{{WikiProject New York City$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York[ _]+Giants|NYG|NewYorkGiantsProject) *\r?([\|}{<\n])", "{{WikiProject New York Giants$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York[ _]+Jets|New[ _]+York[ _]+Jets[ _]+project) *\r?([\|}{<\n])", "{{WikiProject New York Jets$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York[ _]+Theatre|Broadway-category|Broadway-project) *\r?([\|}{<\n])", "{{WikiProject New York Theatre$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+York|WikiProject[ _]+New[ _]+York[ _]+State|WikiProject[ _]+NY|WP[ _]+NY|WPNYS?|WP[ _]+New[ _]+York|WPNewYork) *\r?([\|}{<\n])", "{{WikiProject New York (state)$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+New[ _]+Zealand|New[ _]+Zealand[ _]+WikiProject|WP[ _]+NZ|WP[ _]+New[ _]+Zealand|WPNZ) *\r?([\|}{<\n])", "{{WikiProject New Zealand$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nicaragua|WP[ _]+Nicaragua) *\r?([\|}{<\n])", "{{WikiProject Nicaragua$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Niger) *\r?([\|}{<\n])", "{{WikiProject Africa|Niger=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nigeria|WP[ _]Nigeria|WPNIGERIA|WPNigeria) *\r?([\|}{<\n])", "{{WikiProject Nigeria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Normandy|WPNORM|WPNORMANDY) *\r?([\|}{<\n])", "{{WikiProject Normandy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nortel|WP[ _]+Nortel) *\r?([\|}{<\n])", "{{WikiProject Nortel$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+North[ _]+America|WP[ _]+North[ _]+America) *\r?([\|}{<\n])", "{{WikiProject North America$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+North[ _]+Carolina|WPNC|WPNORTHCAROLINA|WP[ _]+North[ _]+Carolina|Project[ _]+North[ _]+Carolina) *\r?([\|}{<\n])", "{{WikiProject North Carolina$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+North[ _]+Dakota|WP[ _]+North[ _]+Dakota) *\r?([\|}{<\n])", "{{WikiProject North Dakota$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+North[ _]+East[ _]+England|WPNEE|WPNorthEastEngland|WPTyneandWear|WikiProject[ _]+Tyne[ _]+and[ _]+Wear|WikiProjectNorthEastEngland|WikiProjectTyneandWear) *\r?([\|}{<\n])", "{{WikiProject North East England$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+North[ _]+Macedonia|WikiProject[ _]+Republic[ _]+of[ _]+Macedonia|WPMKD|WPFYROM|WikiProject[ _]+Macedonia|WikiProject[ _]+FYR[ _]+Macedonia|WP[ _]+Macedonia) *\r?([\|}{<\n])", "{{WikiProject North Macedonia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Northamptonshire|WPNorthants|WPNorthamptonshire|WP[ _]+Northamptonshire) *\r?([\|}{<\n])", "{{WikiProject Northamptonshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Northern[ _]+Ireland|WPNI[ _]+category|WPNI|WPNorthernIreland|WP[ _]+Northern[ _]+Ireland) *\r?([\|}{<\n])", "{{WikiProject Northern Ireland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Norway|NorwayProject|WP[ _]+Norway|WPNORWAY|WPNorway|Wikiproject[ _]+Norway) *\r?([\|}{<\n])", "{{WikiProject Norway$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nottinghamshire|WP[ _]+Nottinghamshire|WikiProject[ _]+Nottingham) *\r?([\|}{<\n])", "{{WikiProject Nottinghamshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nova[ _]+Scotia) *\r?([\|}{<\n])", "{{WikiProject Canada|ns=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Novels|Novel|Novelinfoboxincomp|Novels|Novels[ _]+WikiProject|NovelsWikiProject|WP[ _]+Novels|WPNovels|WPNOVEL) *\r?([\|}{<\n])", "{{WikiProject Novels$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nudity|WPNudity) *\r?([\|}{<\n])", "{{WikiProject Nudity$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Numbers|NumberTalk) *\r?([\|}{<\n])", "{{WikiProject Numbers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Numismatics|Exonumianotice|Numismaticnotice) *\r?([\|}{<\n])", "{{WikiProject Numismatics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Nursing|WPNURSE|WP[ _]+Nursing) *\r?([\|}{<\n])", "{{WikiProject Nursing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Objectivism|Project[ _]+Objectivism) *\r?([\|}{<\n])", "{{WikiProject Objectivism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Occult|WikiTalk[ _]+Occult|WPOccult|WikiProject[ _]+Occult\/Template\:WikiProject[ _]+Occult) *\r?([\|}{<\n])", "{{WikiProject Occult$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Occupational[ _]+Safety[ _]+and[ _]+Health|WPNIOSH) *\r?([\|}{<\n])", "{{WikiProject Occupational Safety and Health$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oceania|WP[ _]+Oceania|WPOCEANIA) *\r?([\|}{<\n])", "{{WikiProject Oceania$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oceans|Oceanology|WP[ _]+Oceans|WP[ _]+Oceanography) *\r?([\|}{<\n])", "{{WikiProject Oceans$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Odisha|WP[ _]+Odisha|WP[ _]+Orissa) *\r?([\|}{<\n])", "{{WikiProject Odisha$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ohio|Wikiproject[ _]+Ohio|WPOHIO|WP[ _]+Ohio|OH-Project) *\r?([\|}{<\n])", "{{WikiProject Ohio$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Okanagan|OKAN|WPOKAN) *\r?([\|}{<\n])", "{{WikiProject Okanagan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oklahoma|WP[ _]+Oklahoma|WPOK|WPOKLAHOMA) *\r?([\|}{<\n])", "{{WikiProject Oklahoma$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Olympics|WP[ _]+Olympics|OlympicsWikiProject|WP[ _]+Olympics|WPOlympics|WikiProjectOlympics) *\r?([\|}{<\n])", "{{WikiProject Olympics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oman|WP[ _]+Oman|WPOMAN) *\r?([\|}{<\n])", "{{WikiProject Oman$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Opera|WP[ _]+Opera|Castrato|Librettist|Opera|Opera[ _]+\(non\-article\)|Opera[ _]+\(portal\)|Russian[ _]+opera|Singer|Singer1|WPOPERA) *\r?([\|}{<\n])", "{{WikiProject Opera$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Optare|WP[ _]+Darwen[ _]+Holdings|WP[ _]+Optare) *\r?([\|}{<\n])", "{{WikiProject Optare$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Orders,[ _]+Decorations,[ _]+and[ _]+Medals|WP[ _]+Orders,[ _]+Decorations,[ _]+and[ _]+Medals|WPODMBanner|WPODM) *\r?([\|}{<\n])", "{{WikiProject Orders, Decorations, and Medals$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oregon|Wikiproject[ _]+Oregon|WPOREGON|WP[ _]+Oregon) *\r?([\|}{<\n])", "{{WikiProject Oregon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Organismal[ _]+Biomechanics|OBTalk) *\r?([\|}{<\n])", "{{WikiProject Organismal Biomechanics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Organizations|WikiProject[ _]+Organizations[ _]+CoopBanner|Organizations|WikiProject[ _]+Organization|WikiProject[ _]+Organisations|WPORG|WPOrganizations|WPOrganisations|WP[ _]+Organi[sz]ations?) *\r?([\|}{<\n])", "{{WikiProject Organizations$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Organized[ _]+Labour|LabourCatProject|LabourProject|WikiProject[ _]+Labour|WPLABOUR|WP[ _]+Labor|WikiProject[ _]+Trade[ _]+Unions) *\r?([\|}{<\n])", "{{WikiProject Organized Labour$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Oriental Orthodoxy|WP[ _]+Oriental Orthodoxy) *\r?([\|}{<\n])", "{{WikiProject Oriental Orthodoxy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ossetia|WP[ _]+Ossetia|OssetiaProject) *\r?([\|}{<\n])", "{{WikiProject Ossetia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ottawa|Ottawaproject|OttawaProject) *\r?([\|}{<\n])", "{{WikiProject Ottawa$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ottoman[ _]+Empire|Wikiproject[ _]+Ottoman[ _]+Empire|WPOE|WP[ _]+Ottoman[ _]+Empire) *\r?([\|}{<\n])", "{{WikiProject Ottoman Empire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Outline[ _]+of[ _]+knowledge|WikiProject[ _]+Topical[ _]+outlines) *\r?([\|}{<\n])", "{{WikiProject Outline of knowledge$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Packaging|WikiProject[ _]+Containers|WP[ _]+Containers) *\r?([\|}{<\n])", "{{WikiProject Packaging$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Paintball|WikiPB) *\r?([\|}{<\n])", "{{WikiProject Paintball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pakistan|WP[ _]+History[ _]+of[ _]+Pakistan|WP[ _]+Pakistan|WP[ _]+PAK|WP[ _]+PK|WPPAKISTAN|WPPakistan|WPPAK|Wikipedia\:[_]+WikiProject[ _]+Pakistan\/Project[ _]+banner) *\r?([\|}{<\n])", "{{WikiProject Pakistan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pakistan[ _]+Super[ _]+League|WikiProject[ _]+PSL|WP[ _]+Pakistan[ _]+Super[ _]+League|WP[ _]+PSL) *\r?([\|}{<\n])", "{{WikiProject Pakistan Super League$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Palaeontology|WP[ _]+Palaeontology|WikiProject[ _]+Paleontology|WP[ _]+Paleontology) *\r?([\|}{<\n])", "{{WikiProject Palaeontology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Palestine|WP[ _]+Palestine|WPPALESTINE) *\r?([\|}{<\n])", "{{WikiProject Palestine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Panama|WP[ _]+Panama|WPPanama) *\r?([\|}{<\n])", "{{WikiProject Panama$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Papua[ _]+New[ _]+Guinea|WP[ _]+PNG) *\r?([\|}{<\n])", "{{WikiProject Papua New Guinea$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Paraguay|WP[ _]+Paraguay|Wikiproject[ _]+paraguay) *\r?([\|}{<\n])", "{{WikiProject Paraguay$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Paranormal|Paranormal[ _]+Watchers|WikiProject[ _]+Paranormal1|WikiProject[ _]+Supernatural|Wikiproject[ _]+Paranormal) *\r?([\|}{<\n])", "{{WikiProject Paranormal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pashtun|PashtunWikiProject) *\r?([\|}{<\n])", "{{WikiProject Pashtun$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+PDD|Hallucinogen-project|WikiProject[ _]+Hallucinogens|WPPDD|WikiProject[ _]+PDD) *\r?([\|}{<\n])", "{{WikiProject Psychedelics, Dissociatives and Deliriants$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pedophilia[ _]+Article[ _]+Watch|PAW|WikiProject[ _]+Pedophilia[ _]+Article[ _]+Watch\/WikiProjectNotice|WikiProject[ _]+Pedophilia) *\r?([\|}{<\n])", "{{WikiProject Pedophilia Article Watch$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pennsylvania|WPPENNSYLVANIA|WP[ _]+Pennsylvania|WPPENN) *\r?([\|}{<\n])", "{{WikiProject Pennsylvania$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Percussion|WPPerc|WPPERCUSSION|WPPERC) *\r?([\|}{<\n])", "{{WikiProject Percussion$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Peru|PeruProjectBanner|WP[ _]+PERU|WP[ _]+Peru|WPPERU) *\r?([\|}{<\n])", "{{WikiProject Peru$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pharmacology|WikiProject[ _]+Pharmacology[ _]+CoopBanner|DrugsNotice|PHARMA|WPPHARM|Wikiproject[ _]+Pharmacology) *\r?([\|}{<\n])", "{{WikiProject Pharmacology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Philadelphia|WPPHILADELPHIA|Philly|WP[ _]+Philadelphia|WPPHILLY) *\r?([\|}{<\n])", "{{WikiProject Philadelphia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Philately|Philately|Philately[ _]+article[ _]+banner|Philately[ _]+project|WikiProject[ _]+Philately[ _]+Notice|WikiProject[ _]+philately) *\r?([\|}{<\n])", "{{WikiProject Philately$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Philippines|TAMBAY[ _]+NOTICE|WP[ _]+Philippines|WPPHILIPPINES|WPPhilippines|WikiProject[ _]+Philippines|Wikipedia\:Tambayan[ _]+Philippines\/notice|Wikipedia\:Tambayan[ _]+Philippines\/notice|Wikipedia\:WikiProject[ _]+Philippines\/notice) *\r?([\|}{<\n])", "{{WikiProject Tambayan Philippines$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Philosophy|CriticalTheory|WP[ _]+Philosophy|WPPhilosophy|Philosophy|WPPHIL) *\r?([\|}{<\n])", "{{WikiProject Philosophy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Phoenicia|PHOA) *\r?([\|}{<\n])", "{{WikiProject Phoenicia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Phonetics|WP[ _]+Phonetics) *\r?([\|}{<\n])", "{{WikiProject Phonetics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Photography|WikiProject[ _]+photography|WP[ _]+Photography|WPPhotography|WPPHOTO) *\r?([\|}{<\n])", "{{WikiProject Photography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Physics|WPPhysics|WP[ _]+Physics|Physics) *\r?([\|}{<\n])", "{{WikiProject Physics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Piers|PiersProject) *\r?([\|}{<\n])", "{{WikiProject Piers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pinball|Wikiproject[ _]+Pinball) *\r?([\|}{<\n])", "{{WikiProject Pinball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pink[ _]+Floyd|WPFloyd) *\r?([\|}{<\n])", "{{WikiProject Pink Floyd$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pipe[ _]+Organ|PipeOrgan-project-page) *\r?([\|}{<\n])", "{{WikiProject Pipe Organ$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Piracy|WPPIRACY|WP-Piracybanner) *\r?([\|}{<\n])", "{{WikiProject Piracy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pittsburgh[ _]+Steelers|Pittsburgh[ _]+Steelers[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Pittsburgh Steelers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pittsburgh|Pghproj|PittsburghWikiProject|WP[ _]+Pittsburgh|WPPITTSBURGH) *\r?([\|}{<\n])", "{{WikiProject Pittsburgh$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Plants|WP[ _]+Plants|WPPLANTS) *\r?([\|}{<\n])", "{{WikiProject Plants$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Podcasting|Wikiproject[ _]+Podcasting) *\r?([\|}{<\n])", "{{WikiProject Podcasting$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Poetry|WPPoetry|WP[ _]+Poetry|Poetry) *\r?([\|}{<\n])", "{{WikiProject Poetry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pokémon|PCP|WikiProject[ _]+Pokemon|Pokeproject|WikiProject[ _]+Pok) *\r?([\|}{<\n])", "{{WikiProject Pokémon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Poker|Poker|WP[ _]+Poker) *\r?([\|}{<\n])", "{{WikiProject Poker$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Poland|POLAND|WPPOLAND|PRWNB|PWNB|WP[ _]+Poland|Polish[ _]+Wikipedians[ _]+Noticeboard|Polish[ _]+Wikipedians[ _]+notice[ _]+board|Polish[ _]+Wikipedians\'[ _]+Noticeboard|Polish[ _]+Wikipedians\'[ _]+notice[ _]+board|Polish[ _]+Wikipedians\'[ _]+noticeboard|Polish[ _]+wikipedians[ _]+notice[ _]+board|Polish[ _]+wikipedians\'[ _]+notice[ _]+board[ _]+|Polish[ _]+wikipedians\'[ _]+noticeboard|WNBP|WPPL) *\r?([\|}{<\n])", "{{WikiProject Poland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Policy[ _]+and[ _]+Guidelines|WikiProject[ _]+Policy ) *\r?([\|}{<\n])", "{{WikiProject Policy and Guidelines$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Politics[ _]+of[ _]+the[ _]+United[ _]+Kingdom|UK[ _]+Politics|WP[ _]+UK[ _]+Politics|WikiProject[ _]+British[ _]+Government) *\r?([\|}{<\n])", "{{WikiProject Politics of the United Kingdom$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Politics|PLT|POLITICS|WikiProjectPolitics|Wikiproject[ _]+Politics|WP[ _]+Politics|WPPolitics|Wikiproject[ _]+politics|WPPOL) *\r?([\|}{<\n])", "{{WikiProject Politics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Polymers|WP[ _]+Polymers) *\r?([\|}{<\n])", "{{WikiProject Polymers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Polynesia|WPPOLYNESIA|WP[ _]+Polynesia) *\r?([\|}{<\n])", "{{WikiProject Polynesia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pop[ _]+music|WP[ _]+Pop[ _]+music|WP[ _]+Pop|WPPOP|WPOP|Pop) *\r?([\|}{<\n])", "{{WikiProject Pop music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Popular[ _]+Culture|WP[ _]+Popular[ _]+Culture|WP[ _]+Popular[ _]+culture|WikiProject[ _]+Popular[ _]+culture|WikiProject[ _]+Trivia[ _]+and[ _]+Popular[ _]+Culture) *\r?([\|}{<\n])", "{{WikiProject Popular Culture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pornography|Pornstars|Porn[ _]+project|Pornproject|WPPORN) *\r?([\|}{<\n])", "{{WikiProject Pornography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Porto|WikiProjectPorto) *\r?([\|}{<\n])", "{{WikiProject Porto$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ports|WP[ _]+Ports) *\r?([\|}{<\n])", "{{WikiProject Ports$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Portugal|WPPT|WPPORTUGAL|WPPortugal|WP[ _]+Portugal) *\r?([\|}{<\n])", "{{WikiProject Portugal$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Post-hardcore|WPPHC) *\r?([\|}{<\n])", "{{WikiProject Post-hardcore$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Powderfinger|Powderfinger[ _]+Banner) *\r?([\|}{<\n])", "{{WikiProject Powderfinger$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Power[ _]+in[ _]+international[ _]+relations|PIIR[ _]+article) *\r?([\|}{<\n])", "{{WikiProject Power in international relations$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Prescott-Russell|PrescottRussellProject) *\r?([\|}{<\n])", "{{WikiProject Prescott-Russell$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Primates|PrimateTalk|WPPrimates ) *\r?([\|}{<\n])", "{{WikiProject Primates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Pritzker-GLAM|Pritzker-GLAM) *\r?([\|}{<\n])", "{{WikiProject Pritzker-GLAM$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Private[ _]+Equity|Private[ _]+Equity|WikiProject[ _]+Biography\/PrivateEquity|WikiProject[ _]+Companies\/Private[ _]+Equity[ _]+Task[ _]+Force|WikiProject[ _]+Companies\/PrivateEquity|WikiProject[ _]+Finance\/Private[ _]+Equity[ _]+Task[ _]+Force|WikiProject[ _]+Finance\/PrivateEquity|WikiProject[ _]+Private[ _]+Equity[ _]+Task[ _]+Force) *\r?([\|}{<\n])", "{{WikiProject Private Equity$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Professional[ _]+wrestling|Pro\-wrestling|Project[ _]+MoW|Project[ _]+Music[ _]+of[ _]+wrestling|WikiProject[ _]+Professional[ _]+Wrestling|pro\-wrestling|WP[ _]+Wrestling|WPPROWRESTLING|WPWRESTLING) *\r?([\|}{<\n])", "{{WikiProject Professional wrestling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Progressive[ _]+Rock|Progressive[ _]+Rock|WPPROG|WP[ _]+Progressive[ _]+Rock) *\r?([\|}{<\n])", "{{WikiProject Progressive Rock$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Protected[ _]+areas|Messagebox[ _]+protected[ _]+areas|WikiProject[ _]+Protected[ _]+Areas|WP[ _]+Protected[ _]+areas) *\r?([\|}{<\n])", "{{WikiProject Protected areas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Protista|WP[ _]+Protista) *\r?([\|}{<\n])", "{{WikiProject Protista$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Psychology|WP[ _]+Psychology|WPP|WPPSY|WPPSYCH|WPPSYCHOLOGY|WPPsychology|WPSYCH|WikiProject[ _]+psychology|Wikiproject[ _]+Psychology) *\r?([\|}{<\n])", "{{WikiProject Psychology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Psychopathic[ _]+Records|PsychopathicRecordsProject|CurrentWPPsycopathAoF) *\r?([\|}{<\n])", "{{WikiProject Psychopathic Records$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Puerto[ _]+Rico|WPPUERTORICO|PuertoRicoproj|WP[ _]+Puerto[ _]+Rico) *\r?([\|}{<\n])", "{{WikiProject Puerto Rico$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Punjab|WP[ _]+Punjab) *\r?([\|}{<\n])", "{{WikiProject Punjab$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Punk[ _]+music|WP[ _]+Punk|WP[ _]+Punk[ _]+music|PRM|PUNK|Punk[ _]+music|Punk[ _]+rock|Wikiproject[ _]+Punk|Wikiproject[ _]+punk|Wikiproject[ _]+punk[ _]+rock|Wikiproject[ _]+Punk[ _]+music|WPPUNK|WPUNK) *\r?([\|}{<\n])", "{{WikiProject Punk music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Qatar|WP[ _]+Qatar|WPQatar) *\r?([\|}{<\n])", "{{WikiProject Qatar$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Queen|Queen[ _]+WikiProject|WPQueen) *\r?([\|}{<\n])", "{{WikiProject Queen$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Queens[ _]+of[ _]+the[ _]+Stone[ _]+Age|Qotsa|Queens[ _]+of[ _]+the[ _]+Stone[ _]+Age[ _]+taskforce) *\r?([\|}{<\n])", "{{WikiProject Queens of the Stone Age$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+R\&B[ _]+and[ _]+Soul[ _]+Music|R\&B|R\&B[ _]+and[ _]+Soul[ _]+Music|R\&b|WPRB|WPRNB|WikiProject[ _]+R\&B|WikiProject[ _]+Rhythm[ _]+and[ _]+blues[ _]+and[ _]+soul[ _]+music) *\r?([\|}{<\n])", "{{WikiProject R&B and Soul Music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Radio[ _]+Stations|RSP|RSWP|RadioStationsProject) *\r?([\|}{<\n])", "{{WikiProject Radio Stations$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Radio|Radio|WPRADIO|WP[ _]+Radio|Wikiproject[ _]+Radio) *\r?([\|}{<\n])", "{{WikiProject Radio$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rave|WP[ _]+Rave|WPRave) *\r?([\|}{<\n])", "{{WikiProject Rave$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Record[ _]+Charts|WikiProject[ _]+Charts|WPCharts|WP[ _]+Record[ _]+Charts) *\r?([\|}{<\n])", "{{WikiProject Record Charts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Record[ _]+Labels|Record[ _]+Labels|WP[ _]+Record[ _]+Labels|WP[ _]+Record[ _]+labels|WikiProject[ _]+Record[ _]+Labels[ _]+Task[ _]+Force|WikiProject[ _]+Record[ _]+labels|WPRECLABEL) *\r?([\|}{<\n])", "{{WikiProject Record Labels$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Redirects?|WP[ _]+Redirects?|WPRedirect|WPRED) *\r?([\|}{<\n])", "{{WikiProject Redirect$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Reenactment|WikiProjectReenactment|WP[ _]+Reenactment) *\r?([\|}{<\n])", "{{WikiProject Reenactment$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Reference[ _]+Desk[ _]+Article[ _]+Collaboration|WPRDAC) *\r?([\|}{<\n])", "{{WikiProject Reference Desk Article Collaboration$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Reggae|WPReggae|WP[ _]+Reggae|WPRG) *\r?([\|}{<\n])", "{{WikiProject Reggae$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Regional[ _]+and[ _]+national[ _]+music|WPRegionalNationalMusicBanner|WPWORLDMUSIC|Worldmusicassessed|WikiProject[ _]+World[ _]+music|WikiProject\:World[ _]+music) *\r?([\|}{<\n])", "{{WikiProject Regional and national music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Fact[ _]+and[ _]+Reference[ _]+Check|WikiProject[ _]+Fact[ _]+and[ _]+Reference[ _]+Check[ _]+improved|WPFACT|WikiProject[ _]+Wikipedia[ _]+reliability|WP[ _]+Reliability) *\r?([\|}{<\n])", "{{WikiProject Reliability$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Religion|WPR|WPRel|WPReligion|WP[ _]+Religion|WP[ _]+Religions) *\r?([\|}{<\n])", "{{WikiProject Religion$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Religious[ _]+texts|WP[ _]+Religious[ _]+texts|WPRT2) *\r?([\|}{<\n])", "{{WikiProject Religious texts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Retailing|Wikiproject[ _]+retailing|WP[ _]+Retailing|WP[ _]+Retail|WPRETAIL) *\r?([\|}{<\n])", "{{WikiProject Retailing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rhode[ _]+Island|WPRI|WPRHODEISLAND|WP[ _]+Rhode[ _]+Island) *\r?([\|}{<\n])", "{{WikiProject Rhode Island$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Richard[ _]+Wagner|Wagner|WikiProject[ _]+Wagner) *\r?([\|}{<\n])", "{{WikiProject Richard Wagner$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Richmond,[ _]+Virginia|WP[ _]+RVA) *\r?([\|}{<\n])", "{{WikiProject Richmond, Virginia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rivers|River|Rivers|WP[ _]+Rivers|WPRIVERS|WPRIVER|Wpriv|Wprivers) *\r?([\|}{<\n])", "{{WikiProject Rivers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Robotics|Wiki[ _]+Project[ _]+Robotics|WP[ _]+Robotics) *\r?([\|}{<\n])", "{{WikiProject Robotics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rock[ _]+music|RMP|WP[ _]+Rock|WP[ _]+Rock[ _]+music|WPROCK|WPRock|WPRock[ _]+disco|WikiProject[ _]+Rock|WikiProject[ _]+Rock[ _]+Music|WikiProject[ _]+Rock[ _]+disc|Wikiproject[ _]+Hard[ _]+Rock|Wikiproject[ _]+Rock[ _]+music|Wikiproject[ _]+Rock[ _]+music[ _]+disco|WPRK) *\r?([\|}{<\n])", "{{WikiProject Rock music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rocketry|WPRocketry) *\r?([\|}{<\n])", "{{WikiProject Rocketry$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rodents|Squirrels|WikiProject[ _]+Squirrels/Page|Rodent) *\r?([\|}{<\n])", "{{WikiProject Rodents$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Role-playing[ _]+games|RPGproject) *\r?([\|}{<\n])", "{{WikiProject Role-playing games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Roman[ _]+Curia|WP[ _]+Roman[ _]+Curia|WPRC) *\r?([\|}{<\n])", "{{WikiProject Roman Curia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Romani[ _]+people|WP[ _]+Romani|WPROM) *\r?([\|}{<\n])", "{{WikiProject Romani people$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Romania|WPRA|Romania|WPROMANIA|WPRO|WP[ _]+Romania) *\r?([\|}{<\n])", "{{WikiProject Romania$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rome|WPROME|WP[ _]+City[ _]+of[ _]+Rome) *\r?([\|}{<\n])", "{{WikiProject Rome$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Roots[ _]+music|WP[ _]+Roots|WP[ _]+Roots[ _]+music\/Article[ _]+Scope|WPRoots|WikiProject[ _]+Roots[ _]+Music|WPFOLK|WPRM) *\r?([\|}{<\n])", "{{WikiProject Roots music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rowing|WP[ _]+Rowing|WP[ _]+Row|WikiProject\:Rowing|WPRowing) *\r?([\|}{<\n])", "{{WikiProject Rowing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Royalty[ _]+and[ _]+Nobility|WP[ _]+Royalty|WP[ _]+Royalty[ _]+and[ _]+nobility|WPROYALTY|WikiProject[ _]+Royalty|WikiProject[ _]+Nobility|WP[ _]+Nobility|WPNOBILITY) *\r?([\|}{<\n])", "{{WikiProject Royalty and Nobility$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rufus[ _]+Wainwright|WPRufusWainwright) *\r?([\|}{<\n])", "{{WikiProject Rufus Wainwright$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rugby[ _]+league|WP[ _]+Rugby[ _]+league|WPRL) *\r?([\|}{<\n])", "{{WikiProject Rugby league$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rugby[ _]+union|WP[ _]+Rugby[ _]+union|WP[ _]+Rugby[ _]+Union|WP[ _]+rugby[ _]+union|WPRUGBYUNION|WPRU|WikiProject[ _]+Rugby[ _]+Union|WikiProject[ _]+rugby[ _]+union) *\r?([\|}{<\n])", "{{WikiProject Rugby union$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Running|WP[ _]+Running|WPRunning|Runningproject|Running[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Running$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Russian[ _]+history|WPRussia|WikiProject[ _]+Russian[ _]+History|WPRUSSIA|WP[ _]+Russia|Wikiproject[ _]+russia|WikiProject[ _]+Chechnya|Wikiproject[ _]+Russia|WP[ _]+Chechnya|WPCHECHNYA) *\r?([\|}{<\n])", "{{WikiProject Russia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Rwanda) *\r?([\|}{<\n])", "{{WikiProject Africa|Rwanda=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sailing|WP[ _]+Sailing|WPSAILING) *\r?([\|}{<\n])", "{{WikiProject Sailing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Saints|WP[ _]+Saints|Wikiproject[ _]+Saints) *\r?([\|}{<\n])", "{{WikiProject Saints$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+San[ _]+Diego|WP[ _]+San[ _]+Diego) *\r?([\|}{<\n])", "{{WikiProject San Diego$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+San[ _]+Francisco[ _]+49ers|SanFrancisco49ersProject) *\r?([\|}{<\n])", "{{WikiProject San Francisco 49ers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sao[ _]+Tome[ _]+and[ _]+Principe) *\r?([\|}{<\n])", "{{WikiProject Africa|Sao Tome and Principe=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Saudi[ _]+Arabia|WP[ _]+Saudi[ _]+Arabia|Saudi) *\r?([\|}{<\n])", "{{WikiProject Saudi Arabia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Schools|WP[ _]+Schools|WPSCHOOLS|WPSchools|WikiProject[ _]+School|WP[ _]+School) *\r?([\|}{<\n])", "{{WikiProject Schools$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Science[ _]+Fiction|Science[ _]+Fiction[ _]+Project|WP[ _]+SciFi|WPSCIFI|WikiProject[ _]+Science[ _]+fiction|WPSF|WP[ _]+SF) *\r?([\|}{<\n])", "{{WikiProject Science Fiction$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Science|WP[ _]+Science|WPSCIENCE|WPSCI) *\r?([\|}{<\n])", "{{WikiProject Science$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scientology|WP[ _]+Scientology) *\r?([\|}{<\n])", "{{WikiProject Scientology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scotland|Scotland|WP[ _]+Scot|WP[ _]+Scotland|WPSCOT|WPSCOTLAND|WPScot|WPScotland|WPscot) *\r?([\|}{<\n])", "{{WikiProject Scotland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scottish[ _]+Castles|WPSCOTCASTLE) *\r?([\|}{<\n])", "{{WikiProject Scottish Castles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scottish[ _]+Islands|WPSI) *\r?([\|}{<\n])", "{{WikiProject Scottish Islands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scouting|BSA|SCOUT|Scouts|ScoutingWikiProject) *\r?([\|}{<\n])", "{{WikiProject Scouting$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Screenwriters|WPScreenwriters|Screenwriters) *\r?([\|}{<\n])", "{{WikiProject Screenwriters$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sculpture|WP[ _]+Sculpture|WPSculpture) *\r?([\|}{<\n])", "{{WikiProject Sculpture$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sea[ _]+Monsters|WP[ _]+Sea[ _]+Monsters) *\r?([\|}{<\n])", "{{WikiProject Sea Monsters$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Seamounts|WP[ _]+Seamounts|Seamounts|Seamount) *\r?([\|}{<\n])", "{{WikiProject Seamounts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Seattle|Seattle|WPSEATTLE|WP[ _]+Seattle|WPSeattle) *\r?([\|}{<\n])", "{{WikiProject Seattle$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Senegal) *\r?([\|}{<\n])", "{{WikiProject Africa|Senegal=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Serbia|Belgrade[ _]+Project|SERBIA|Serbia|WP[ _]+Serbia|WPRS|WPSR|WPSERBIA|WPSerbia|Wikiproject[ _]+Serbia) *\r?([\|}{<\n])", "{{WikiProject Serbia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Serial[ _]+Killer[ _]+task[ _]+force|Serial[ _]+killer) *\r?([\|}{<\n])", "{{WikiProject Serial Killer task force$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Seton[ _]+Hall[ _]+University|Wikiproject[ _]+Seton[ _]+Hall[ _]+University) *\r?([\|}{<\n])", "{{WikiProject Seton Hall University$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Seventh-day[ _]+Adventist[ _]+Church|WP[ _]+Adventism|WP[ _]+Adventist) *\r?([\|}{<\n])", "{{WikiProject Seventh-day Adventist Church$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sexuality|Sexuality|WP[ _]+Sex|WPSexuality|WPSEX|WP[ _]+Sexuality|WikiProject[ _]+Sexology[ _]+and[ _]+Sexuality|WikiProject[ _]+Sexology[ _]+and[ _]+sexuality|Wikiproject[ _]+Sexuality) *\r?([\|}{<\n])", "{{WikiProject Sexology and sexuality$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Shakespeare|Wikiproject[ _]+Shakespeare) *\r?([\|}{<\n])", "{{WikiProject Shakespeare$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sharks|WPSharks|WikiProject[ _]+sharks|WikiProject[ _]+Sharks\/SharksTalk) *\r?([\|}{<\n])", "{{WikiProject Sharks$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Shi\'a[ _]+Islam|WikiProject[ _]+Shi\'a|WikiProject[ _]+Shia) *\r?([\|}{<\n])", "{{WikiProject Shi'a Islam$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sheffield|WP[ _]+Sheffield) *\r?([\|}{<\n])", "{{WikiProject Sheffield$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ships|WPSHIPS|WP[ _]+Ships) *\r?([\|}{<\n])", "{{WikiProject Ships$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Shipwrecks|WPSHIPWRECKS|ShipwrecksWikiProject) *\r?([\|}{<\n])", "{{WikiProject Shipwrecks$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Shopping[ _]+Centers|WikiProject[ _]+Dead[ _]+Malls|WP[ _]+Malls|wpmall|WPMALL|WPSHOP) *\r?([\|}{<\n])", "{{WikiProject Shopping Centers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Shreveport|WikiProject[ _]+Shreveport[ _]+Article) *\r?([\|}{<\n])", "{{WikiProject Shreveport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sicily|Sicily[ _]+project|WP[ _]+SICILY|WPSICILY) *\r?([\|}{<\n])", "{{WikiProject Sicily$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sierra[ _]+Leone) *\r?([\|}{<\n])", "{{WikiProject Africa|Sierra Leone=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Silesia|WPSILESIA) *\r?([\|}{<\n])", "{{WikiProject Silesia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Singapore|WPSINGAPORE|WPSingapore|WP[ _]+Singapore|SG) *\r?([\|}{<\n])", "{{WikiProject Singapore$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Skateboarding|Project[ _]+skateboarding) *\r?([\|}{<\n])", "{{WikiProject Skateboarding$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Skepticism|WikiProject[ _]+Rational[ _]+Skepticism|Rational[ _]+Skepticism|WikiProject[ _]+Pseudoscience) *\r?([\|}{<\n])", "{{WikiProject Skepticism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Skiing[ _]+and[ _]+Snowboarding|Ski|WikiProject[ _]+Ski|WP[ _]+Ski) *\r?([\|}{<\n])", "{{WikiProject Skiing and Snowboarding$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Skyscrapers|Skyscraper[ _]+category|Skyscraper[ _]+image|Skyscraper[ _]+project|Skyscraper[ _]+template|Skyscrapers) *\r?([\|}{<\n])", "{{WikiProject Skyscrapers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Slipknot|Slipknot[ _]+Project[ _]+TempVersion|Slipknot[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Slipknot$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Slovakia|WPSLOVAKIA|WP[ _]+Slovakia|WPSlovakia) *\r?([\|}{<\n])", "{{WikiProject Slovakia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Slovenia|WPSLOVENIA|Wikiproject[ _]+Slovenia|WP[ _]+Slovenia) *\r?([\|}{<\n])", "{{WikiProject Slovenia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Smithsonian[ _]+Institution[ _]+Archives|WikiProject[ _]+SIA) *\r?([\|}{<\n])", "{{WikiProject Smithsonian Institution Archives$2"); // WikiProject SIA <> WikiProject Sia
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Smithsonian[ _]+Institution-related|SI-related) *\r?([\|}{<\n])", "{{WikiProject Smithsonian Institution-related$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Somalia|WP[ _]+Somalia|WPSOMALIA) *\r?([\|}{<\n])", "{{WikiProject Somalia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Somserset|WP[ _]+Somserset) *\r?([\|}{<\n])", "{{WikiProject Somserset$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Snooker|Snooker[ _]+project|SNOOKER) *\r?([\|}{<\n])", "{{WikiProject Snooker$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Soap[ _]+Operas|Soaps|Wpsoaps|WP[ _]+Soaps) *\r?([\|}{<\n])", "{{WikiProject Soap Operas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Socialism|WP[ _]+Socialism|WPSOCIALISM) *\r?([\|}{<\n])", "{{WikiProject Socialism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sociology|Sociology[ _]+WikiProject|WP[ _]+Sociology|WPS|WPSOC|WPSOCIO|WPSOCIOLOGY|WPSociology) *\r?([\|}{<\n])", "{{WikiProject Sociology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Software|WP[ _]+Software|WPSOFTWARE|WPSOFT|Software) *\r?([\|}{<\n])", "{{WikiProject Software$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Soil|WP[ _]+Soil|Soil) *\r?([\|}{<\n])", "{{WikiProject Soil$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Solar[ _]+System|WP[ _]+Solar[ _]+System|WPSS|WikiProject[ _]+Solar[ _]+system) *\r?([\|}{<\n])", "{{WikiProject Solar System$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Somerset|WP[ _]+Somerset) *\r?([\|}{<\n])", "{{WikiProject Somerset$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Songs|Song|Songs|WP[ _]+Songs|WPSongs|WPSONG|WikiProject[ _]+Song|WikiProjectSongs) *\r?([\|}{<\n])", "{{WikiProject Songs$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+Africa|SouthAfricaProject|WPSA|WPSouthAfrica|WP[ _]+South[ _]+Africa) *\r?([\|}{<\n])", "{{WikiProject South Africa$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+America|WPSOUTHAMERICA|WPSAMERICA|WP[ _]+South[ _]+America) *\r?([\|}{<\n])", "{{WikiProject South America$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+Asia|Project[ _]+SouthAsia|SouthAsia[ _]+History|WP[ _]+SouthAsia) *\r?([\|}{<\n])", "{{WikiProject South Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+Carolina|SC-Project|WPSOUTHCAROLINA|WP[ _]+South[ _]+Carolina|Project[ _]+South[ _]+Carolina|WPSC) *\r?([\|}{<\n])", "{{WikiProject South Carolina$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+Dakota|WP[ _]+South[ _]+Dakota|WPSD) *\r?([\|}{<\n])", "{{WikiProject South Dakota$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+South[ _]+Park|SouthParkProject|WP[ _]+South[ _]+Park) *\r?([\|}{<\n])", "{{WikiProject South Park$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Southeast[ _]+Asia|WPSEASIA|WikiProject[ _]+Brunei) *\r?([\|}{<\n])", "{{WikiProject Southeast Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Soviet[ _]+Union|WP[ _]+Soviet[ _]+Union|WPSOVIETUNION|WPSU|WPUSSR|WikiProject[ _]+USSR|Soviet|WPSOVIET|WP[ _]+USSR) *\r?([\|}{<\n])", "{{WikiProject Soviet Union$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Space|WP[ _]+Space) *\r?([\|}{<\n])", "{{WikiProject Space$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spaceflight|WikiProject[ _]+Human[ _]+spaceflight|WP[ _]+Spaceflight|WPSpaceflight) *\r?([\|}{<\n])", "{{WikiProject Spaceflight$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spain|WPSPAIN|WP[ _]+Spain|WPSpain) *\r?([\|}{<\n])", "{{WikiProject Spain$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spectroscopy|SpectroscopyProject) *\r?([\|}{<\n])", "{{WikiProject Spectroscopy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Speed[ _]+Skating|WP[ _]+Speed[ _]+skating) *\r?([\|}{<\n])", "{{WikiProject Speed Skating$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spiders|Spiders|WPSpiders) *\r?([\|}{<\n])", "{{WikiProject Spiders$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spirits|WPSPIRIT|Wpspirit|Spirit|WPSPIRITS|Spirits|WP[ _]+Alcohol) *\r?([\|}{<\n])", "{{WikiProject Spirits$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spirituality|Spirituality|Spirituality[ _]+project) *\r?([\|}{<\n])", "{{WikiProject Spirituality$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Spoken[ _]+Wikipedia|Talk[ _]+Spoken[ _]+Wikipedia|Talk[ _]+Spoken[ _]+Wikipedia[ _]+id) *\r?([\|}{<\n])", "{{WikiProject Spoken Wikipedia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sports[ _]+Car[ _]+Racing|WPSCR) *\r?([\|}{<\n])", "{{WikiProject Sports Car Racing$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sports[ _]+facilities[ _]+task[ _]+force|Sports[ _]+facilities|WikiProject[ _]+Sports[ _]+facilities) *\r?([\|}{<\n])", "{{WikiProject Sports facilities task force$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sports|WP[ _]+Sport|WP[ _]+Sports|WPSPORT|WPSPORTS|WPSport|WPSports|WikiProject[ _]+Sport|WikiProjectSports) *\r?([\|}{<\n])", "{{WikiProject Sports$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Square[ _]+Enix|Ffproj|FinalFantasyProj|FinalFantasyProject|Finalfantasyproj|SEproj|WPFF[ _]+Article|WikiProject[ _]+Final[ _]+Fantasy) *\r?([\|}{<\n])", "{{WikiProject Square Enix$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Squash|WP[ _]+Squash|WPSQUASH|WPSquash|Wikiproject[ _]+Squash) *\r?([\|}{<\n])", "{{WikiProject Squash$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sri[ _]+Lanka[ _]+Reconciliation|Banner[ _]+WPSLR) *\r?([\|}{<\n])", "{{WikiProject Sri Lanka Reconciliation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sri[ _]+Lanka|WPSRILANKA|Ceylon|WP[ _]+Sri[ _]+Lanka) *\r?([\|}{<\n])", "{{WikiProject Sri Lanka$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+St\.[ _]+Louis[ _]+Rams|SaintLouisRamsproject|St\.[ _]+Louis[ _]+Rams[ _]+project) *\r?([\|}{<\n])", "{{WikiProject St. Louis Rams$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+St\.[ _]+Louis|WP[ _]+STL|WikiProject[ _]+Saint[ _]+Louis|WikiProject[ _]+St\.[ _]+Louis[ _]+people|WP[ _]+St.[ _]+Louis) *\r?([\|}{<\n])", "{{WikiProject St. Louis$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Stagecraft|Project[ _]+Stagecraft) *\r?([\|}{<\n])", "{{WikiProject Stagecraft$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Star[ _]+Trek|Startrekproject|StarTrekproject|WP[ _]+Star[ _]+Trek) *\r?([\|}{<\n])", "{{WikiProject Star Trek$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Star[ _]+Wars|StarWarsProject|WP[ _]+Star[ _]+Wars|WPSTARWARS) *\r?([\|}{<\n])", "{{WikiProject Star Wars$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+State[ _]+University[ _]+System[ _]+of[ _]+Florida|WPSUSF) *\r?([\|}{<\n])", "{{WikiProject State University System of Florida$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Statistics|Wikiproject[ _]+Statistics|WP[ _]*Statistics|WP[ _]+Stats?|WPSTATISTICS|WPSTAT) *\r?([\|}{<\n])", "{{WikiProject Statistics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Stub[ _]+sorting|WPSTUB) *\r?([\|}{<\n])", "{{WikiProject Stub sorting$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Succession[ _]+Box[ _]+Standardization|SBS[ _]+template|SBS[ _]+banner) *\r?([\|}{<\n])", "{{WikiProject Succession Box Standardization$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sudan|WP[ _]+Sudan) *\r?([\|}{<\n])", "{{WikiProject Africa|Sudan=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Suicide|WPSUICIDE|WP[ _]+SUICIDE) *\r?([\|}{<\n])", "{{WikiProject Suicide$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sumo|WPSUMO) *\r?([\|}{<\n])", "{{WikiProject Sumo$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Suriname|WP[ _]+Suriname) *\r?([\|}{<\n])", "{{WikiProject Suriname$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Surrey|WPSurrey) *\r?([\|}{<\n])", "{{WikiProject Surrey$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sussex|WP[ _]+Sussex|WikiProject[ _]+West[ _]+Sussex|WikiProject[ _]+East[ _]+Sussex) *\r?([\|}{<\n])", "{{WikiProject Sussex$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Sweden|WPSweden|WPSWEDEN|WikiProject[ _]+Sweden|WikiProjectSweden|WP[ _]+Sweden|Sweden) *\r?([\|}{<\n])", "{{WikiProject Sweden$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Swimming|WPSwimming|WP[ _]+Swimming) *\r?([\|}{<\n])", "{{WikiProject Swimming$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Switzerland|WPSWITZERLAND|WP[ _]+Switzerland|WikiProject[ _]+Swiss|WPSwitzerland|WPCH|WP[ _]+Swiss) *\r?([\|}{<\n])", "{{WikiProject Switzerland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Symbolism[ _]+and[ _]+Art[ _]+Nouveau|WP[ _]+Symbolism[ _]+and[ _]+Art[ _]+Nouveau) *\r?([\|}{<\n])", "{{WikiProject Symbolism and Art Nouveau$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Syracuse\,[ _]+New York|SyracuseNYWikiProject|WikiProject[ _]+Syracuse) *\r?([\|}{<\n])", "{{WikiProject Syracuse, New York$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Syria|WPSYRIA|WP[ _]+Syria) *\r?([\|}{<\n])", "{{WikiProject Syria$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Systems|WPSystems|Sys[ _]+rating) *\r?([\|}{<\n])", "{{WikiProject Systems$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Table[ _]+tennis|WP[ _]+Table[ _]+tennis) *\r?([\|}{<\n])", "{{WikiProject Table tennis$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Taiwanese[ _]+aborigines|WPFORMOSAN) *\r?([\|}{<\n])", "{{WikiProject Taiwanese aborigines$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Taiwan|WPTAIWAN|WikiProject[ _]+Taiwanese[ _]+politics|WPTWGOVT|WP[ _]+Taiwan|WPTW) *\r?([\|}{<\n])", "{{WikiProject Taiwan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tajikistan|WP[ _]+Tajikistan) *\r?([\|}{<\n])", "{{WikiProject Tajikistan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tamil[ _]+civilization|WPTAMIL|WPTAMCIV) *\r?([\|}{<\n])", "{{WikiProject Tamil civilization$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tamil[ _]+Eelam|WPTE|WPTE-Template) *\r?([\|}{<\n])", "{{WikiProject Tamil Eelam$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tampa[ _]+Bay[ _]+Buccaneers|TampaBayBucsProject) *\r?([\|}{<\n])", "{{WikiProject Tampa Bay Buccaneers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tampa[ _]+Bay|TampaWikiproject|TampaBayWikiproject) *\r?([\|}{<\n])", "{{WikiProject Tampa Bay$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tanzania) *\r?([\|}{<\n])", "{{WikiProject Africa|Tanzania=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Taxation|WP[ _]+Taxation) *\r?([\|}{<\n])", "{{WikiProject Taxation$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Taylor[ _]+Swift|WPTS) *\r?([\|}{<\n])", "{{WikiProject Taylor Swift$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Technology[ _]+History|WikiProject[ _]+Techhistory/recruit|Wikiproject[ _]+Techhistory/recruit) *\r?([\|}{<\n])", "{{WikiProject Technology History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Technology|Wiki[ _]+Project[ _]+Technology|WPTechnology|WP[ _]+Technology|WPTECH) *\r?([\|}{<\n])", "{{WikiProject Technology$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Telecommunications|Tel[ _]+Project|WP[ _]+Communications|WPTelecom|WikiProject[ _]+Telecommunication|WP[ _]+Telecommunications|WPTELECOMMUNICATIONS) *\r?([\|}{<\n])", "{{WikiProject Telecommunications$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Television|Television|TelevisionWikiProject|Tv|WP[ _]+TV|WP[ _]+Television|WPTELEVISION|WPTV|WPTelevision|WikiProject[ _]+LOE|WikiProject[ _]+TV|Wikiproject[ _]+television|WPTO) *\r?([\|}{<\n])", "{{WikiProject Television$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Temperature[ _]+extremes|extremes) *\r?([\|}{<\n])", "{{WikiProject Temperature extremes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tennessee|WikiProject[ _]+Chattanooga|WPTENNESSEE|WPTN|Wikiproject[ _]+Tennessee|WP[ _]+Tennessee|WPTennessee|WPTENN) *\r?([\|}{<\n])", "{{WikiProject Tennessee$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tennis|WP[ _]+Tennis|WPTennis|WP-Tennis|Wikiproject[ _]+Tennis|Tennis) *\r?([\|}{<\n])", "{{WikiProject Tennis$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Terrorism|WPTCT|WP[ _]+Terrorism) *\r?([\|}{<\n])", "{{WikiProject Terrorism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Texas|WPTX|WPTEXAS|WP[ _]+Texas|WPTexas) *\r?([\|}{<\n])", "{{WikiProject Texas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Textile[ _]+Arts|Wikiproject[ _]+Textile[ _]+Arts|WP[ _]+Textile[ _]+Arts) *\r?([\|}{<\n])", "{{WikiProject Textile Arts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Teylers|Teylers) *\r?([\|}{<\n])", "{{WikiProject Teylers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Thailand|WPTHAILAND|WPTHAI|WPThailand|WP[ _]+Thailand) *\r?([\|}{<\n])", "{{WikiProject Thailand$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Thames|WPThames) *\r?([\|}{<\n])", "{{WikiProject Thames$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+The[ _]+Beatles|WPBeatles) *\r?([\|}{<\n])", "{{WikiProject The Beatles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+The[ _]+Clash|WPClash) *\r?([\|}{<\n])", "{{WikiProject The Clash$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+The[ _]+Rolling[ _]+Stones|WPTRS|WPRollingStones) *\r?([\|}{<\n])", "{{WikiProject The Rolling Stones$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+The[ _]+Simpsons|SimpsonWikiProject|WikiProject[ _]+Simpsons ) *\r?([\|}{<\n])", "{{WikiProject The Simpsons$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Theatre|WP[ _]+Theater|WP[ _]+Theatre|WPTHEATRE|WPTheater|WPTheatre|WikiProject[ _]+Theater) *\r?([\|}{<\n])", "{{WikiProject Theatre$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Theoretical[ _]+Linguistics|WPTL|Project[ _]+Theoretical[ _]+Linguistics) *\r?([\|}{<\n])", "{{WikiProject Theoretical Linguistics$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Thomas|WPThomas|Thomas-project-page) *\r?([\|}{<\n])", "{{WikiProject Thomas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Three[ _]+Kingdoms|WP3K|Wikiproject[ _]+Three[ _]+Kingdoms) *\r?([\|}{<\n])", "{{WikiProject Three Kingdoms$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tibet|WikiProject[ _]+Tibetan[ _]+Buddhism|WP[ _]+Tibet|WPTIBET) *\r?([\|}{<\n])", "{{WikiProject Tibet$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Time|WPTIME|WP[ _]+Time|Time[ _]+WikiProject|WikiProject[ _]+Time[ _]+CoopBanner) *\r?([\|}{<\n])", "{{WikiProject Time$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Timeline[ _]+Tracer[ _]+CoopBanner|WP[ _]+Timeline[ _]+Tracer[ _]+Histfact[ _]+Template|WikiProject[ _]+Timeline[ _]+Tracer[ _]+CoopBanner|WikiProject[ _]+True[ _]+Origins|WikiProject[ _]+True[ _]+Origins[ _]+CoopBanner) *\r?([\|}{<\n])", "{{WikiProject Timeline Tracer CoopBanner$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Timeline[ _]+Tracer|WP[ _]+Timeline[ _]+Tracer[ _]+Histfact[ _]+Template|WikiProject[ _]+Timeline[ _]+Tracer[ _]+CoopBanner|WikiProject[ _]+True[ _]+Origins|WikiProject[ _]+True[ _]+Origins[ _]+CoopBanner) *\r?([\|}{<\n])", "{{WikiProject Timeline Tracer$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tirana|WPTI) *\r?([\|}{<\n])", "{{WikiProject Tirana$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Togo) *\r?([\|}{<\n])", "{{WikiProject Africa|Togo=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tokusatsu|TOKU|WPTOKUSATSU|Tokusatsu) *\r?([\|}{<\n])", "{{WikiProject Tokusatsu$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tonga) *\r?([\|}{<\n])", "{{WikiProject Polynesia|Tonga=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Toronto|WPTORONTO|WP[ _]+Toronto) *\r?([\|}{<\n])", "{{WikiProject Toronto$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Toys|WP[ _]+Toys|WPTOYS) *\r?([\|}{<\n])", "{{WikiProject Toys$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Trade|Wptrade) *\r?([\|}{<\n])", "{{WikiProject Trade$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Trains|TrainsWikiProject|TrainsWikiproject|TRAINS|TWP|Twp|WikiProject Train|WikiProject trains|WP Trains|WPTRAIN|WPTRAINS|WPTrains|WikiProjectTrains|WP Railways) *\r?([\|}{<\n])", "{{WikiProject Trains$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Translation[ _]+studies|WP[ _]+Translation[ _]+studies) *\r?([\|}{<\n])", "{{WikiProject Translation studies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Transport|WP[ _]+Transport|WPTRANSPORT) *\r?([\|}{<\n])", "{{WikiProject Transport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Transport[ _]+in[ _]+Scotland|WP[ _]+TIS|WPTIS|WPTIS[ _]+Banner|Wptis) *\r?([\|}{<\n])", "{{WikiProject Transport in Scotland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Travel[ _]+and[ _]+Tourism|TourismProject|WP[ _]+Travel|WPTOURISM|WPTOUR|WikiProject[ _]+Tourism|Wptour) *\r?([\|}{<\n])", "{{WikiProject Travel and Tourism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tree[ _]+of[ _]+Life|TOL|Tree[ _]+of[ _]+Life|Tree[ _]+of[ _]+life|WPTOL|WikiProject[ _]+Tree[ _]+of[ _]+life) *\r?([\|}{<\n])", "{{WikiProject Tree of Life$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Triathlon|WP[ _]+Triathlon|WPTriathlon) *\r?([\|}{<\n])", "{{WikiProject Triathlon$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Trinidad) *\r?([\|}{<\n])", "{{WikiProject Caribbean|Trinidad and Tobago=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Trucks|WP[ _]+Trucks|WPTRUCKS) *\r?([\|}{<\n])", "{{WikiProject Trucks$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+TUGS|TUGS-Scope|TUGS) *\r?([\|}{<\n])", "{{WikiProject TUGS$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tunings\,[ _]+Temperaments\,[ _]+and[ _]+Scales|Tuning[ _]+and[ _]+temperament) *\r?([\|}{<\n])", "{{WikiProject Tunings, Temperaments, and Scales$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Tunisia|WPTNS|WP[ _]+Tunisia|WPTUNISIA) *\r?([\|}{<\n])", "{{WikiProject Tunisia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Turkey|WPTURKEY|WPTR|WP[ _]+Turkey) *\r?([\|}{<\n])", "{{WikiProject Turkey$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Turkmenistan|WP[ _]+Turkmenistan) *\r?([\|}{<\n])", "{{WikiProject Turkmenistan$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Typography|WPTYPOGRAPHY) *\r?([\|}{<\n])", "{{WikiProject Typography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+U\.S\.[ _]+Congress|WikiProject[ _]+Congress|Project[ _]+Congress|WikiProject[ _]+United[ _]+States[ _]+Congress|WPCONGRESS) *\r?([\|}{<\n])", "{{WikiProject U.S. Congress$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+U\.S\.[ _]+Presidents|WikiProject[ _]+Presidents|USP-Article) *\r?([\|}{<\n])", "{{WikiProject U.S. Presidents$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+U\.S\.[ _]+Roads|U\.S\.[ _]+Roads[ _]+WikiProject|US[ _]+Roads[ _]+WikiProject|USRD|Usrd|WikiProject[ _]+US[ _]+Roads) *\r?([\|}{<\n])", "{{WikiProject U.S. Roads$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+U\.S\.[ _]+Streets|USST|U\.S\.[ _]+Streets[ _]+WikiProject) *\r?([\|}{<\n])", "{{WikiProject U.S. Streets$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Seychelles) *\r?([\|}{<\n])", "{{WikiProject Africa|Seychelles=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+U\.S\.[ _]+Supreme[ _]+Court[ _]+cases|WP[ _]+SCOTUS|WikiProject[ _]+SCOTUS) *\r?([\|}{<\n])", "{{WikiProject U.S. Supreme Court cases$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Uganda|Uganda) *\r?([\|}{<\n])", "{{WikiProject Africa|Uganda=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+UK[ _]+geography|UKGEO|WPUKgeog|WPUKGEOG|WPUKgeo|WP[ _]+UK[ _]+Geography) *\r?([\|}{<\n])", "{{WikiProject UK geography$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+UK[ _]+Parliament[ _]+constituencies|WPUKPC|UK[ _]+Parliamentary[ _]+Constituencies) *\r?([\|}{<\n])", "{{WikiProject UK Parliament constituencies$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+UK[ _]+Theme[ _]+Parks|UKTP[ _]+project) *\r?([\|}{<\n])", "{{WikiProject UK Theme Parks$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+UK[ _]+Roads|Motorways|UKRD|WPUKroads|WP[ _]+UK[ _]+Roads) *\r?([\|}{<\n])", "{{WikiProject UK Roads$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+UK[ _]+Waterways|UKW|Wikipedia\:WikiProject[ _]+UK[ _]+Waterways) *\r?([\|}{<\n])", "{{WikiProject UK Waterways$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Ukraine|Ukraine|WP[ _]+Ukraine|WPUKRAINE|WPUkraine|WikiProject[ _]+Ukrainian[ _]+subdivisions) *\r?([\|}{<\n])", "{{WikiProject Ukraine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Scuba[ _]+diving|WikiProject[ _]+SCUBA|WikiProject[ _]+Scuba|WP[ _]+Scuba[ _]+diving |WPSCUBA|WPUWD) *\r?([\|}{<\n])", "{{WikiProject Underwater diving$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Unionism[ _]+in[ _]+Ireland|WP\:Unionism|WikiProject[ _]+Unionism) *\r?([\|}{<\n])", "{{WikiProject Unionism in Ireland$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+Arab[ _]+Emirates|WP[ _]+UAE|WP[ _]+United[ _]+Arab[ _]+Emirates|WPUAE|WikiProject[ _]+UAE) *\r?([\|}{<\n])", "{{WikiProject United Arab Emirates$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+Kingdom|WP[ _]+UK|WP[ _]+United[ _]+Kingdom|WPUK|WikiProject[ _]+Britain|WikiProject[ _]+UK|WPUnited[ _]+Kingdom|WikiProject[ _]+Great[ _]+Britain|WP[ _]+Great[ _]+Britain|WP[ _]+GB) *\r?([\|}{<\n])", "{{WikiProject United Kingdom$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+Nations|WPUN) *\r?([\|}{<\n])", "{{WikiProject International relations|un=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+States[ _]+courts[ _]+and[ _]+judges|Project[ _]+USCJ|WikiProject[ _]+USCJ|WikiProject[ _]+WikiProject[ _]+United[ _]+States[ _]+courts[ _]+and[ _]+judges)\r*([\|}{<\n])", "{{WikiProject United States courts and judges$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+States[ _]+History|USHistory|WikiProject[ _]+US[ _]+History|WP[ _]+US[ _]+History|WP[ _]+U\.S\.[ _]+History|WP[ _]+American[ _]+History|USHistoryTalk|WikiProject[ _]+US[ _]+history) *\r?([\|}{<\n])", "{{WikiProject United States History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+States[ _]+presidential[ _]+elections|WPUSPE) *\r?([\|}{<\n])", "{{WikiProject United States presidential elections$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+States[ _]+Public[ _]+Policy|USPP) *\r?([\|}{<\n])", "{{WikiProject United States Public Policy$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+United[ _]+States|WP[ _]+America|USProject|WPUS|WPUSA|WP[ _]+USA|WikiProject[ _]+USA?|WP[ _]+United[ _]+States|WP[ _]+US|WPUnited[ _]+States) *\r?([\|}{<\n])", "{{WikiProject United States$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Universities|Universities|University|WP[ _]+Universities|WP[ _]+University|WPU|WPUNI|WPUniversity|WikiProject[ _]+University) *\r?([\|}{<\n])", "{{WikiProject Universities$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+University[ _]+of[ _]+Arkansas|WikiProject[ _]+UARK) *\r?([\|}{<\n])", "{{WikiProject University of Arkansas$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+University[ _]+of[ _]+Cambridge|WP[ _]+Cambridge[ _]+University) *\r?([\|}{<\n])", "{{WikiProject University of Cambridge$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+University[ _]+of[ _]+Central[ _]+Florida|WPUCF) *\r?([\|}{<\n])", "{{WikiProject University of Central Florida$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+University[ _]+of[ _]+Florida|WPUF) *\r?([\|}{<\n])", "{{WikiProject University of Florida$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+University[ _]+of[ _]+the[ _]+Philippines|WPUP) *\r?([\|}{<\n])", "{{WikiProject University of the Philippines$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Unrecognized[ _]+countries|WPURC) *\r?([\|}{<\n])", "{{WikiProject Unrecognized countries$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Unreferenced[ _]+Biographies[ _]+of[ _]+Living[ _]+Persons|WPURBLP) *\r?([\|}{<\n])", "{{WikiProject Unreferenced Biographies of Living Persons$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Urban[ _]+Debate|WikiProject[ _]+BUDL) *\r?([\|}{<\n])", "{{WikiProject Urban Debate$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Urban[ _]+studies[ _]+and[ _]+planning|Planning) *\r?([\|}{<\n])", "{{WikiProject Urban studies and planning$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Uruguay|WPURUGUAY|WPURU|UruguayProject|WP[ _]+Uruguay) *\r?([\|}{<\n])", "{{WikiProject Uruguay$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Userboxes|UBX|Ubx|WikiProject[ _]+userboxes|Wikiproject[ _]+Userboxes|Wikiproject[ _]+userboxes|Wp:ubx) *\r?([\|}{<\n])", "{{WikiProject Userboxes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Utah|WPUTAH|Wikiproject[ _]+Utah|WP[ _]+Utah|WPUT) *\r?([\|}{<\n])", "{{WikiProject Utah$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Uzbekistan|WP[ _]+Uzbekistan) *\r?([\|}{<\n])", "{{WikiProject Central Asia|Uzbekistan=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Van[ _]+Halen|WPVANHALEN) *\r?([\|}{<\n])", "{{WikiProject Van Halen$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vanuatu) *\r?([\|}{<\n])", "{{WikiProject Melanesia|Vanuatu=yes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vancouver|Vancouverproject-gvrd|Vancouver|WPVANCOUVER|Vancouverproject) *\r?([\|}{<\n])", "{{WikiProject Vancouver$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vatican[ _]+City|WP[ _]+Vatican[ _]+City) *\r?([\|}{<\n])", "{{WikiProject Vatican City$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Veganism[ _]+and[ _]+Vegetarianism|WPVAV) *\r?([\|}{<\n])", "{{WikiProject Veganism and Vegetarianism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Venezuela|WPVENEZUELA|WPVenezuela|WP[ _]+Venezuela|WPVEN|VENTEMP) *\r?([\|}{<\n])", "{{WikiProject Venezuela$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vermont|WPVERMONT|WPVT|WP[ _]+Vermont|Project[ _]+Vermont) *\r?([\|}{<\n])", "{{WikiProject Vermont$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Veterinary[ _]+medicine|WP[ _]+Veterinary[ _]+medicine) *\r?([\|}{<\n])", "{{WikiProject Veterinary medicine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Video[ _]+games|WarcraftProject|WPW[ _]+Article|Zeldaproj|ZeldaProject|Cvgproj|Vgproj|WPVG|WP[ _]+Video[ _]+games|WikiProject[ _]+Video[ _]+Games) *\r?([\|}{<\n])", "{{WikiProject Video games$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vienna|ProjectVienna) *\r?([\|}{<\n])", "{{WikiProject Vienna$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vietnam|WPVIETNAM|WPVN|WP[ _]+Vietnam|WPVietnam) *\r?([\|}{<\n])", "{{WikiProject Vietnam$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+View[ _]+Askew|Wikiproject[ _]+View[ _]+Askew|View[ _]+Askew) *\r?([\|}{<\n])", "{{WikiProject View Askew$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Virginia|WPVIRGINIA|WP[ _]+Virginia|WikiProjectVirginia) *\r?([\|}{<\n])", "{{WikiProject Virginia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Viruses|Virus|Wikiproject[ _]+Viruses|WPVIRUS) *\r?([\|}{<\n])", "{{WikiProject Viruses$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Visual[ _]+arts|Visual[ _]+arts|WP[ _]+Art|WP[ _]+Pottery|WP[ _]+Visual[ _]+arts|WPART|WPVISUALART|WikiProject[ _]+Visual[ _]+Arts|WikiProject[ _]+Visual[ _]+art) *\r?([\|}{<\n])", "{{WikiProject Visual arts$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Vital[ _]+Articles|Vital) *\r?([\|}{<\n])", "{{WikiProject Vital Articles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Volcanoes|Volcano|Volcano[ _]+category|Volcano[ _]+image|Volcano[ _]+list|Volcano[ _]+project|Volcano[ _]+template|WP[ _]+Volcanoes) *\r?([\|}{<\n])", "{{WikiProject Volcanoes$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Volleyball|Catbox[ _]+WPVolleyball|WPVolleyball|WP[ _]+Volleyball|WPVolley) *\r?([\|}{<\n])", "{{WikiProject Volleyball$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wales|WP[ _]+Wales|WPWales|WPWALES) *\r?([\|}{<\n])", "{{WikiProject Wales$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Walt[ _]+Disney[ _]+World|WaltDisneyWorld) *\r?([\|}{<\n])", "{{WikiProject Walt Disney World$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Warhammer[ _]+40\,000|Warhammer[ _]+40\,000[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Warhammer 40,000$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Warriors|WPWarriors) *\r?([\|}{<\n])", "{{WikiProject Warriors$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Washington[ _]+Metro|WMATA) *\r?([\|}{<\n])", "{{WikiProject Washington Metro$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Washington[ _]+Redskins|Washington[ _]+RedskinsProject) *\r?([\|}{<\n])", "{{WikiProject Washington Redskins$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Washington|WPWASHINGTON|WP[ _]+Washington|WPWashington|WikiProject[ _]+Washington[ _]+\(U\.S\.[ _]+state\)) *\r?([\|}{<\n])", "{{WikiProject Washington$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Watches|Watch[ _]+Project) *\r?([\|}{<\n])", "{{WikiProject Watches$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Water|WPWATER) *\r?([\|}{<\n])", "{{WikiProject Water$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Water[ _]+Margin|WPWaterMargin) *\r?([\|}{<\n])", "{{WikiProject Water Margin$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Water[ _]+sports|Watersports|WPSURFING) *\r?([\|}{<\n])", "{{WikiProject Water sports$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Waterfalls|Project[ _]+Waterfalls) *\r?([\|}{<\n])", "{{WikiProject Waterfalls$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Weather|Extremes|Meteorology|WP[ _]+Meteorology|Meteo|WPWX) *\r?([\|}{<\n])", "{{WikiProject Weather$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Websites|Websites[ _]+WikiProject|WPWEBSITE|WPWEB|Websites|WebsiteNotice|WP[ _]+Websites|WikiProject[ _]+Web[ _]+sites) *\r?([\|}{<\n])", "{{WikiProject Websites$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+West[ _]+Midlands|WPWM) *\r?([\|}{<\n])", "{{WikiProject West Midlands$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+West[ _]+Virginia|WPWV|WP[ _]+West[ _]+Virginia) *\r?([\|}{<\n])", "{{WikiProject West Virginia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Western[ _]+Asia|WP[ _]+Western[ _]+Asia) *\r?([\|}{<\n])", "{{WikiProject Western Asia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Westerns|Westerns) *\r?([\|}{<\n])", "{{WikiProject Westerns$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wight|WPWight|Wight) *\r?([\|}{<\n])", "{{WikiProject Wight$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wikipedia|WP[ _]+Wikipedia|WPWIKIPEDIA|WPWP) *\r?([\|}{<\n])", "{{WikiProject Wikipedia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wikipedia[ _]+Saves[ _]+Public[ _]+Art|WikiProject[ _]+WSPA) *\r?([\|}{<\n])", "{{WikiProject Wikipedia Saves Public Art$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+WikiWorld|WikiProject[ _]+Illustrated[ _]+Wikipedia) *\r?([\|}{<\n])", "{{WikiProject WikiWorld$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wiltshire|Wilts) *\r?([\|}{<\n])", "{{WikiProject Wiltshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wine|Wine|WikiProject[ _]+wine|WPWINE) *\r?([\|}{<\n])", "{{WikiProject Wine$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wisconsin|WPWISCONSIN|WP[ _]+Wisconsin) *\r?([\|}{<\n])", "{{WikiProject Wisconsin$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women|WP[ _]*Women|WPWOMEN) *\r?([\|}{<\n])", "{{WikiProject Women$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+artists|WPWA|Women[ _]+artists|WP[ _]+Women[ _]+artists) *\r?([\|}{<\n])", "{{WikiProject Women artists$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+in[ _]+hip[ _]+hop[ _]+music|Hiphopw) *\r?([\|}{<\n])", "{{WikiProject Women in hip hop music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+in[ _]+Music|WikiProject[ _]+Women[ _]+music|WP[ _]+Women[ _]+in[ _]+Music|Women[ _]+in[ _]+Music) *\r?([\|}{<\n])", "{{WikiProject Women in Music$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+in[ _]+Red|WIR) *\r?([\|}{<\n])", "{{WikiProject Women in Red$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women\'s[ _]+health|WP[ _]+Women\'s[ _]+Health) *\r?([\|}{<\n])", "{{WikiProject Women's Health$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+scientists|WikiProject[ _]+Women[ _]+Scientists|WP[ _]+Women[ _]+scientists|WPWS) *\r?([\|}{<\n])", "{{WikiProject Women scientists$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women[ _]+writers|WikiProject[ _]+Women[ _]+Writers|WP[ _]+Women[ _]+Writers|WPWW) *\r?([\|}{<\n])", "{{WikiProject Women writers$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women\'s[ _]+History|WMNHIST|WMHIST|WikiProject[ _]+WMNHIST|WP[ _]+Women['’]s[ _]+History) *\r?([\|}{<\n])", "{{WikiProject Women's History$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Women\'s[ _]+sport|WPWomen's[ _]+sport|WP[ _]+Women['’]s[ _]+Sport|WikiProject[ _]Women\'s sports) *\r?([\|}{<\n])", "{{WikiProject Women's sport$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Woodworking|Woodworking) *\r?([\|}{<\n])", "{{WikiProject Woodworking$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Worcestershire|WPWorcs-Scope|WPWorcs) *\r?([\|}{<\n])", "{{WikiProject Worcestershire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+World[ _]+Heritage[ _]+Sites|WP[ _]+World[ _]+Heritage[ _]+Sites) *\r?([\|}{<\n])", "{{WikiProject World Heritage Sites$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+World[ _]+Rally|WRC) *\r?([\|}{<\n])", "{{WikiProject World Rally$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+World's[ _]+Oldest[ _]+People|WikiProjectWOP) *\r?([\|}{<\n])", "{{WikiProject World's Oldest People$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Writing[ _]+systems|Wsproj|WPWRITINGSYSTEMS|WP[ _]+Writing[ _]+systems) *\r?([\|}{<\n])", "{{WikiProject Writing systems$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Wyoming|WPWYOMING|WP[ _]+Wyoming) *\r?([\|}{<\n])", "{{WikiProject Wyoming$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Years|YearsProject|WP[ _]+Years|WPYEARS) *\r?([\|}{<\n])", "{{WikiProject Years$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Yemen|Yemen|WPYEMEN|WP[ _]+Yemen) *\r?([\|}{<\n])", "{{WikiProject Yemen$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Yoga|WP[ _]+Yoga) *\r?([\|}{<\n])", "{{WikiProject Yoga$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Yorkshire|WikiProject[ _]+West[ _]+Yorkshire|WP[ _]+Yorkshire) *\r?([\|}{<\n])", "{{WikiProject Yorkshire$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Yoruba|YorubaProject) *\r?([\|}{<\n])", "{{WikiProject Yoruba$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+YouTube|WP[ _]+YouTube) *\r?([\|}{<\n])", "{{WikiProject YouTube$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Yugoslavia|WikiProject[ _]+Former[ _]+Yugoslavia|WP[ _]+Yugoslavia|WPYUGOSLAVIA) *\r?([\|}{<\n])", "{{WikiProject Yugoslavia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Zambia|WP[ _]+Zambia|WPZAMBIA) *\r?([\|}{<\n])", "{{WikiProject Zambia$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Zimbabwe|WPZW|WP[ _]+Zimbabwe) *\r?([\|}{<\n])", "{{WikiProject Zimbabwe$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Zoos?|WP[ _]+Zoo|WPZOO) *\r?([\|}{<\n])", "{{WikiProject Zoo$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProject[ _]+Zoroastrianism|Wikiproject[ _]+Zoroastrianism) *\r?([\|}{<\n])", "{{WikiProject Zoroastrianism$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WikiProjectBanners|WikiProject[ _]+Banners?|WPB|WPBS|Wikiprojectbannershell|WikiProject[ _]+Banner[ _]+Shell|WPBannerShell|WP[ _]+Banner[ _]+Shell|Banner[ _]?shell|WikiProject[ _]+Banners[ _]+Shell|WikiProjectBanner[ _]+Shell|WikiProject[ _]+BannerShell|Project[ _]+shell|Scope[ _]+shell|WikiProject[ _]+Shell) *\r?([\|}{<\n])", "{{WikiProject banner shell$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(WP1\.0|0\.5[ _]+held|0\.5[ _]+nom|0\.5[ _]+set[ _]+nom|0\.7[ _]+nom|Core[ _]+topic|Releaseversion|Releaseversion[ _]+nom|V0\.7|V0\.7held|V1\.0[ _]+nom|WP[ _]+1\.0|WP1\.0[ _]+Arts) *\r?([\|}{<\n])", "{{WP1.0$2", RegexOptions.IgnoreCase);
//Other talk page template redirect fixes; Cleanup redirects
  //ArticleText = Regex.Replace(ArticleText, @"{{\s*(AMCOTWPast) *\r?([\|}{<\n])", "{{AMCOTWPast$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(American[ _]+English|American\-?English|US[ _]+English|EngvarA[ _]+spelling|AmE) *\r?([\|}{<\n])", "{{American English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Archive[ _]+box|Archive\-box|Archivebox|Talkarchives) *\r?([\|}{<\n])", "{{Archive box$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(ArticleHistory|Aritcle[ _]+history|Aritclehistory|Article[ _]+History|Article[ _]+history|Article[ _]+milestones|Articlehistory|Articlemilestones) *\r?([\|}{<\n])", "{{Article history$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Australian[ _]+English|Australian\-English|AusE) *\r?([\|}{<\n])", "{{Australian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Auto[ _]+archiving[ _]+notice|AutoArchivingNotice|Autoarchivalnotice|Autoarchive|Autoarchivingnotice) *\r?([\|}{<\n])", "{{Auto archiving notice$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(BLP|Living[ _]+person) *\r?([\|}{<\n])", "{{BLP$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(BLP[ _]+others|Blpo|BLP-related) *\r?([\|}{<\n])", "{{BLP others$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(British[ _]+English|British\-English|UK[ _]+English|UK\-English|BrE) *\r?([\|}{<\n])", "{{British English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(British[ _]+English[ _]+Oxford[ _]+spelling|Oxford[ _]+spelling) *\r?([\|}{<\n])", "{{British English Oxford spelling$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Calm|Calmtalk|Calm[ _]+talk|Be[ _]+calm|Becivil|Be[ _]+civil|Chill|Cooltalk|Cool[ _]+talk|Heated) *\r?([\|}{<\n])", "{{Calm$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Canadian[ _]+English|Canadian\-English|Canspell|Quebec[ _]+English|CanE) *\r?([\|}{<\n])", "{{Canadian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Censor|Not[ _]+censored|Notcensored2) *\r?([\|}{<\n])", "{{Censor$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(COI[ _]+editnotice|COI[ _]+edit[ _]+notice|coiedit|coitalk) *\r?([\|}{<\n])", "{{COI editnotice$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Connected[ _]+contributor|conn) *\r?([\|}{<\n])", "{{Connected contributor$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Controversial2?|Controversy|Contentious) *\r?([\|}{<\n])", "{{Controversial$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(DYK[ _]+talk|DYKtalk|Dyktalk) *\r?([\|}{<\n])", "{{DYK talk$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(FailedGA|Failed[ _]+GA) *\r?([\|}{<\n])", "{{FailedGA$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(FAQ|faq) *\r?([\|}{<\n])", "{{FAQ$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(GA[ _]+nominee|GAnominee) *\r?([\|}{<\n])", "{{GA nominee$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Ghanaian[ _]+English|GhanaE) *\r?([\|}{<\n])", "{{Ghanaian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(GOCE|WikiProject[ _]+Guild[ _]+of[ _]+Copy[ _]+Editors|GOCEdone|GoCE|Goce|PACEdone) *\r?([\|}{<\n])", "{{GOCE$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Hiberno-English|Irish[ _]+English|IrishE) *\r?([\|}{<\n])", "{{Hiberno-English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Image[ _]+requested|Image[ _]+request|Imagereq|Images[ _]+needed|Reqimage|reqp|rqp) *\r?([\|}{<\n])", "{{Image requested$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Inactive[ _]+WikiProject[ _]+banner|WPBannerMeta\/inactive) *\r?([\|}{<\n])", "{{Inactive WikiProject banner$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Indian[ _]+English|Ind?E) *\r?([\|}{<\n])", "{{Indian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(ISSN\-needed|NeedISSN) *\r?([\|}{<\n])", "{{ISSN-needed$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(ITNtalk|ITNTalk|ITNtalk) *\r?([\|}{<\n])", "{{ITNtalk$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Jamaican[ _]+English|JamE) *\r?([\|}{<\n])", "{{Jamaican English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Kenyan[ _]+English|KenE) *\r?([\|}{<\n])", "{{Kenyan English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Liberian[ _]+English|LibE) *\r?([\|}{<\n])", "{{Liberian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Logo[ _]+requested|Reqlogo) *\r?([\|}{<\n])", "{{Logo requested$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Map[ _]+requested[ _]+from|Reqmapin) *\r?([\|}{<\n])", "{{Map requested from$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Infobox[ _]+requested|Infobox[ _]+needed|Need[ _]+infobox|Needs[ _]+infobox|Reqinfobox|Noinfobox|Needinfobox) *\r?([\|}{<\n])", "{{Infobox requested$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Merged[ _]+from|Mergedfrom|Merged) *\r?([\|}{<\n])", "{{Merged-from$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Merged[ _]+to|Mergedto) *\r?([\|}{<\n])", "{{Merged-to$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(New[ _]+Zealand[ _]+English|NZE) *\r?([\|}{<\n])", "{{New Zealand English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Nigerian[ _]+English|NigE) *\r?([\|}{<\n])", "{{Nigerian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Not[ _]+a[ _]+forum|Forum|Notaforum|Not ?forum|Off[ _]+topic[ _]+warning) *\r?([\|}{<\n])", "{{Not a forum$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Notice|Info|Info\-note|Infonote) *\r?([\|}{<\n])", "{{Notice$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+AfD|OldAFD|Oldafd) *\r?([\|}{<\n])", "{{Old AfD$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+AfD[ _]+multi|oldafdfull|AfdOldMulti|Afdoldfull|Old[ _]+AfD[ _]+full|OldAfdMulti|Oldafd2|OldafdMulti|Olddeldebate|Oldrfdmulti|Oldtfdmulti) *\r?([\|}{<\n])", "{{Old AfD multi$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+CfD|Cfdend|Cfd[ _]+result|Cfd[ _]+end|Oldcfdfull) *\r?([\|}{<\n])", "{{Old CfD$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Oldffdfull|Oldffd|Oldifd|Oldifdfull) *\r?([\|}{<\n])", "{{Oldffdfull$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Oldmfd|Mfdend|Mfdold|Oldmfdfull) *\r?([\|}{<\n])", "{{Old MfD$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+peer[ _]+review|Oldpeerreview) *\r?([\|}{<\n])", "{{Old peer review$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+prod|Oldprod|Old[ _]+prod[ _]+full|OldPRODfull|Oldprodfull) *\r?([\|}{<\n])", "{{Old prod$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+RfD|Old[ _]+RFD|Old[ _]+Rfd|Old[ _]+rfd|Old-rfd|Oldrfd|Oldrfdfull|Olrfd) *\r?([\|}{<\n])", "{{Old RfD$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Oldvfdfull|Oldvfd|Old[ _]+vfd[ _]+full) *\r?([\|}{<\n])", "{{Old VfD$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Old[ _]+XfD[ _]+multi|Old[ _]+xfd) *\r?([\|}{<\n])", "{{Old XfD multi$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Online[ _]+source|]Aa]uthoronlinesource|Authoronlinesource2004|Authoronlinesource2005|Authoronlinesource2006|Authoronlinesource2007|Onlinesource|Onlinesource2004|Onlinesource2005|Onlinesource2006|Onlinesource2007) *\r?([\|}{<\n])", "{{Online source$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(On[ _]+this[ _]+day|OnThisDay|OTDtalk|SAtalk|Selected[ _]+anniversary) *\r?([\|}{<\n])", "{{On this day$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Pakistani[ _]+English|PakE) *\r?([\|}{<\n])", "{{Pakistani English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Philippine[ _]+English|PhE) *\r?([\|}{<\n])", "{{Philippine English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Photo[ _]+requested|Photo|Photoreq|Reqphoto) *\r?([\|}{<\n])", "{{Photo requested$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Portal[ _]+talk|Portaltalk) *\r?([\|}{<\n])", "{{Portal talk$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Press|Online[ _]+source) *\r?([\|}{<\n])", "{{Press$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Reqdiagram|Diagram/-needed|Diagram[ _]+needed) *\r?([\|}{<\n])", "{{Diagram requested$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Round[ _]+in[ _]+circles|Circles|Circular|Round[ _]+In[ _]+Circles|Round[ _]+in[ _]+Circles|Roundincircles) *\r?([\|}{<\n])", "{{Round in circles$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Scottish[ _]+English|ScotE|ScE) *\r?([\|}{<\n])", "{{Scottish English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Sierra[ _]+Leonean[ _]+English|SierraE) *\r?([\|}{<\n])", "{{Sierra Leonean English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Singaporean[ _]+English|SingE) *\r?([\|}{<\n])", "{{Singaporean English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Skip[ _]+to[ _]+talk|Skip[ _]+to[ _]+TOC|SkiptoTOC|Skiptotoctalk|Skiptotalk|stt|Skip[ _]+to[ _]+contents) *\r?([\|}{<\n])", "{{Skip to talk$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(South[ _]+African[ _]+English|SAE) *\r?([\|}{<\n])", "{{South African English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(To[ _]+do|HKWNB[ _]+todo|Hidable[ _]+todo|Hideable[ _]+todo|Post\-it|SystemicBiasToDo|To[ _]+do[ _]+\(Wikipedia\)|To[ _]+do[ _]+\(wikipedia\)|To\-do|ToDo\:Norfolk|Todo|Todo[ _]+WP|Todo\-GA|Todo\-Louisville|Todo\-uy|Todo2|Todo4|Todolist|WP\-Todo|WikipediaTodo|Wp\-todo) *\r?([\|}{<\n])", "{{To do$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Talk[ _]+header|TalkHeader|Talk[ _]+page|Talk[ _]+page[ _]+header|Talkpage|Talkpage[ _]+header|Talkpageheader|tph|User[ _]+talk[ _]+header|Usertalkheader|th) *\r?([\|}{<\n])", "{{Talk header$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Translated[ _]+page|Czech|Danish|EoTrans|JaTrans|KoTrans|Northern[ _]+Sami|Northern[ _]+Sámi|Translated|Translated[ _]+article|Translationsource) *\r?([\|}{<\n])", "{{Translated page$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Trinidadian[ _]+English|TrinE) *\r?([\|}{<\n])", "{{Trinidadian English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Ugandan[ _]+English|UgE) *\r?([\|}{<\n])", "{{Ugandan English$2", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*(Wikipedia[ _]+CD[ _]+selection|WPCD|WPCD\-Africa|WPCD\-African[ _]+animals|WPCD\-Ancient|WPCD\-Plants|WPCD\-USA|WPCD\-airspace|WPCD\-animals|WPCD\-places|WPCD\-plants|WPCD\-quakes) *\r?([\|}{<\n])", "{{Wikipedia CD selection$2", RegexOptions.IgnoreCase);
//Remove Template:
  ArticleText = Regex.Replace(ArticleText, @"{{\s*Template:WikiProject (\w+)", "{{WikiProject $1", RegexOptions.IgnoreCase);
//Fix invalid punctuation in WikiProject banners
//  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*(living|attention|auto|class|importance|small|needs\-infobox|needs\-persondata|needs\-discography|needs\-filmography|needs\-photo|past\-collaboration|peer\-review|old\-peer\-review)[ ]*(\-|\[|\]|\+|\{|\})(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|$2=$3$4$5", RegexOptions.IgnoreCase);
//Fix attention=rjl=(Yes|No|n|y).  This also can happen with previous line that "Fix invalid punctuation in WikiProject banners"
//  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*attention[ ]*=[ ]*(rjl|mtf|map)*=[ ]*(Yes|No|n|y)[ ]*(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|attention-$2=$3$4$5", RegexOptions.IgnoreCase);
//Change WikiProject banner parameters to lower case first letter
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Attention[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|attention=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Auto[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|auto=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Class[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|class=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Importance[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|importance=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Ii]nfobox[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-infobox=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Dd]iscography[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-discography=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Ff]ilmography[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-filmography=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Pp]ersondata[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-persondata=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Pp]hoto[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-photo=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Needs\-[Mm]ap[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|needs-map=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Old\-[Pp]eer\-[Rr]eview[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|old-peer-review=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Past\-[Cc]ollaboration[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|past-collaboration=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Peer\-[Rr]eview[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|peer-review=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Priority[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|priority=$2$3");
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\|[ ]*Small[ ]*=(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|small=$2$3");
//Add = to certain WikiProject banners parameters if missing
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\s*\|[ ]*class[ ]*(stub|start|C|B|A|GA|FA|FL|template|category|project|portal|file|disambig|redirect)(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|class=$2$3$4", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\s*\|[ ]*importance[ ]*(low|high|mid|top)(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|importance=$2$3$4", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject Biography(.*?)living[ ]*(yes|no)(.*?) *\r?([\|}{<\n])", "{{WikiProject Biography$1living=$2$3$4", RegexOptions.IgnoreCase);
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)\s*\|[ ]*priority[ ]*(low|high|mid|top)(.*?) *\r?([\|}{<\n])", "{{WikiProject$1|priority=$2$3$4", RegexOptions.IgnoreCase);
//Fix spelling to certain WikiProject banners parameters if missing
  ArticleText = Regex.Replace(ArticleText, @"{{\s*WikiProject(.*?)(?:clas|quality)[ ]*=\s*([\|}{<\n])", "{{WikiProject$1class=$2", RegexOptions.IgnoreCase);
 return ArticleText;
  }