Skip to content

Instantly share code, notes, and snippets.

@Skybladev2
Created May 7, 2012 16:51
Show Gist options
  • Save Skybladev2/2628916 to your computer and use it in GitHub Desktop.
Save Skybladev2/2628916 to your computer and use it in GitHub Desktop.
Regular expression for parsing Unreal Tournament 2004 utdbstat player page.
#region killingSpreesRegex
killingSpreesRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">Killing Sprees by Type</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Spree Type</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\"># of Sprees</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">(Total Time \\(min\\)|Min\\. In Spree)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Total Kills</td>\\s*?" +
"</tr>\\s*?" +
"(?<SpreeStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<SpreeType>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<NumberOfSprees>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MinInSpree>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<TotalKills>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region suicideTotals
suicideTotalsRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">Suicide(s?) Totals</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Type</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Suicides</td>\\s*?" +
"</tr>\\s*?" +
"(?<SuicideStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Type>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Suicides>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region invasionMonsterTotalsRegex
invasionMonsterTotalsRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Invasion Monster Totals</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Monster</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Killed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Deaths From</td>\\s*?" +
"</tr>\\s*?" +
"(?<MonsterStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Monster>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Killed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DeathsFrom>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region vehicleAndTurretSpecificTotalsRegex
vehicleAndTurretSpecificTotalsRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Vehicle and Turret Specific Totals</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(Vehicle/Turret|Weapon)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Frags</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Primary Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Secondary Kills</td>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Road Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Deaths From</td>\\s*?)??" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Deaths (In|Holding)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Suicides</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Eff\\.</td>\\s*?" +
"</tr>\\s*?" +
"(?<VehicleStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Vehicle>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Frags>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<PrimaryKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<SecondaryKills>.+?)</td>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\">(?<RoadKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DeathsFrom>.+?)</td>\\s*?)??" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DeathsIn>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Suicides>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Eff>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region weaponSpecificTotalsRegex
weaponSpecificTotalsRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Weapon Specific Totals</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Weapon</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Frags</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Primary Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Secondary Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Deaths From</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Deaths Holding</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Suicides</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Eff\\.</td>\\s*?" +
"</tr>\\s*?" +
"(?<WeaponStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Weapon>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Frags>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<PrimaryKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<SecondaryKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DeathsFrom>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DeathsHolding>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Suicides>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Eff>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region weaponAccuracyInformationRegex
weaponAccuracyInformationRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Weapon Accuracy Information</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Weapon</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Fired</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Hits</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Damage</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Accuracy</td>\\s*?" +
"</tr>\\s*?" +
"(?<AccuracyStats>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Weapon>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Fired>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Hits>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Damage>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Accuracy>.+?)</td>\\s*?" +
"</tr>\\s*?" +
")+?" +
//".+"+
"</table>";
#endregion
#region combosUsedRegex
combosUsedRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Combos Used</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Speed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">(?<Speed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Booster</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">(?<Booster>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Invisible</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">(?<Invisible>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Berzerk</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">(?<Berzerk>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+"+
"</table>";
#endregion
#region specialEventsRegex
specialEventsRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Special Events</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Category</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Value</td>\\s*?){4}" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">First Blood</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FirstBlood>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Head Shots</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<HeadShots>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Roadkills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Roadkills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Carjackings</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Carjackings>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Double Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DoubleKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Multi Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MultiKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Mega Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MegaKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Ultra Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<UltraKills>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Monster Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MonsterKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Ludicrous Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<LudicrousKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Holy Shit Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<HolyShitKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Failed Transloc</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FailedTransloc>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Headhunter</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Headhunter>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flak Monkey</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FlakMonkey>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Combo Whore</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<ComboWhore>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Road Rampage</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<RoadRampage>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+"+
"</table>";
#endregion
#region rankingRegex
rankingRegexPattern = "<table( cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\")?>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" (align=\"\\w+?\"|colspan=\"\\d+?\") (colspan=\"\\d+?\"|align=\"\\w+?\")>(ELO )?Ranking</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"(" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Game Type</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Ranking</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Points</td>\\s*?" +
"|" +
"<td class=\"\\w+?\" ROWSPAN=\"\\d+?\" align=\"\\w+?\" width=\"\\d+?\">Match Type</td>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Week</td>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Month</td>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Alltime</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">N </td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Rank</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Matches</td>\\s*?){3}" +
")" +
"</tr>\\s*?" +
"(?<Ranking>" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<RankingGameType>.+?)</td>\\s*?" +
"(?<StatsValues><td class=\"\\w+?\" align=\"\\w+?\">(?<RankingRank>[\\d,]+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<RankingPoints>-?[\\d,]+\\.\\d{2})</td>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\">(?<RankingMatches>[\\d,]+)</td>\\s*?)?){1,3}" +
"</tr>\\s*?" +
")+?" +
//".+?"+
"</table>";
#endregion
#region ctfBrDdSummaryRegex
ctfBrDdSummaryRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">Capture the Flag Events Summary</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Captures</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Assists</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Saves</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Pickups</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Drops</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Carry Time</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfCaptures>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfAssists>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfSaves>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfPickups>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfDrops>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfCarryTime>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+?"+
"</table>";
#endregion
#region brDdRegexPattern
brDdRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">Bombing Run and Double Domination Events Summary</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Carried</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Tossed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Assists</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Crticial Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Drops</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Carry Time</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Control Point Captures</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombCarried>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombTossed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombAssists>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombCriticalKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombDrops>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombCarryTime>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<ControlPointCaptures>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+?"+
"</table>";
#endregion
#region ctfBrDdRegexPattern
ctfBrDdRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">CTF, Bombing Run, and Double Domination Events Summary</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Control Point Captures</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Captures</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Assists</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Saves</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Pickups</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flag Drops</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Bomb Carried</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Bomb Tossed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Bomb Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Bomb Drops</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<ControlPointCaptures>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfCaptures>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfAssists>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfSaves>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfPickups>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<CtfDrops>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombCarried>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombTossed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombCriticalKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<BombDrops>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+?"+
"</table>";
#endregion
#region assaultOnslaughtSummaryRegexPattern
assaultOnslaughtSummaryRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" colspan=\"\\d+?\">Assault &(amp;)? Onslaught Events Summary</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Assault Objectives</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Power Nodes Constructed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Power Nodes Destroyed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Constructing Nodes Destroyed</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Power Cores Destroyed</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<AssaultObjectives>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<PowerNodesConstructed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<PowerNodesDestroyed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<ConstructingNodesDestroyed>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<PowerCoresDestroyed>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+?"+
"</table>";
#endregion
#region careerSummaryRegexPattern
careerSummaryRegexPattern = "<td class=\"heading\" align=\"center\" colspan=\"(15|16)\">" +
"Career Summary for (<a><img .+?></a>)?\\s*?" +
"(?<PlayerNick>.{1,30})\\s{1}\\[(?<PlayerID>\\d+)\\]((<small><br><small><small>Unique ID [\\d\\w]+)|(<small>.+?Last IP.+? ID [\\d\\w]+))?</td>\\s*?</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"smheading\" align=\"center\">(Game|Match) Type</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Score</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">F</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">K</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">D</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">S</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">TK</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">TD</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Eff\\.?</td>\\s*?" +
"(<td class=\"smheading\" align=\"center\">Avg SPH</td>\\s*)?" + // only in Epic global stats
"<td class=\"smheading\" align=\"center\">Avg FPH</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Avg TTL</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Wins</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Losses</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Matches</td>\\s*?" +
"<td class=\"smheading\" align=\"center\">Hours</td>\\s*?" +
"</tr>\\s*?" +
"(?<GameTypeStatistics><tr>\\s*?" +
"<td class=\"dark\" align=\"center\">(?<GameType>--|.+?)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Score>--|-?[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Frags>--|-?[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Kills>--|-?[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Deaths>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Suicides>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<TeamKills>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<TeamDeaths>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Efficiency>--|[\\d,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"(<td class=\"grey\" align=\"center\">(?<AverageSPH>--|-?[\\d,\\.]+\\.{1}\\d{1})</td>\\s*)?" +
"<td class=\"grey\" align=\"center\">(?<AverageFPH>--|-?[\\d,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<AverageTTL>--|[\\d,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Wins>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Losses>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Matches>--|[\\d,]+)</td>\\s*?" +
"<td class=\"grey\" align=\"center\">(?<Hours>--|[\\d+,\\.]+\\d{1})</td>\\s*?" +
"</tr>\\s*?)+?" +
"(?<Totals><tr>\\s*?" +
"<td class=\"dark\" align=\"center\">(<b>)?Totals(</b>)?</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalScore>-?[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalFrags>-?[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalKills>-?[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalDeaths>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalSuicides>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalTeamKills>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalTeamDeaths>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalEfficiency>[\\d,\\.]+)</td>\\s*?" +
"(<td class=\"darkgrey\" align=\"center\">(?<TotalAverageSPH>-?[\\d,\\.]+\\.{1}\\d{1})</td>\\s*)?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalAverageFPH>-?[\\d,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalAverageTTL>[\\d,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalWins>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalLosses>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalMatches>[\\d,]+)</td>\\s*?" +
"<td class=\"darkgrey\" align=\"center\">(?<TotalHours>[\\d+,\\.]+\\.{1}\\d{1})</td>\\s*?" +
"</tr>\\s*)";// +
//".+?" +
//"<td class=\"medheading\" align=\"center\" colspan=\"(3|11)\">(Ranking|CTF, Bombing Run, and Double Domination Events Summary)</td>"
#endregion
#region specialEventsEpicRegexPattern
specialEventsEpicRegexPattern = "<table cellpadding=\"\\d+?\" cellspacing=\"\\d+?\" border=\"\\d+?\" width=\"\\d+?\">\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" colspan=\"\\d+?\" align=\"\\w+?\">Special Events</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"(<td class=\"\\w+?\" align=\"\\w+?\">Category</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\" width=\"\\d+?\">Value</td>\\s*?){3}" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">First Blood</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FirstBlood>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Head Shots</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<HeadShots>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Failed Translocations</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FailedTranslocations>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Double Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<DoubleKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Multi Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MultiKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Mega Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MegaKills>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Ultra Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<UltraKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Monster Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<MonsterKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Ludicrous Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<LudicrousKills>.+?)</td>\\s*?" +
"</tr>\\s*?" +
"<tr>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Holy Shit Kills</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<HolyShitKills>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Headhunter</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<Headhunter>.+?)</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">Flak Monkey</td>\\s*?" +
"<td class=\"\\w+?\" align=\"\\w+?\">(?<FlakMonkey>.+?)</td>\\s*?" +
"</tr>\\s*?" +
//".+"+
"</table>";
#endregion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment