Ну, используя следующее регулярное выражение, вы можете отделить числа от остальных:
labour\s*([\d,.]+),\s*liberals\s*([\d,.]+),\s*conservatives\s*([\d,.]+)
в конце концов, число явно заканчивается в точке, где больше не следует цифр. Затем вы можете продолжить удаление запятых из значений.
Демонстрация PowerShell (немного сжатая, извините):
PS Home:\> $s -match 'labour\s*(?<labour>[\d,.]+),\s*liberals\s*(?<liberals>[\d,.]+),\s*conservatives\s*(?<conservatives>[\d,.]+)' |
Out-Null
PS Home:\> "Labour: {0}`nLiberals: {1}`nConservatives: {2}" -f `
($Matches['labour'],$Matches['liberals'],$Matches['conservatives'] |
foreach { $_ -replace ',' })
Labour: 18909
Liberals: 12365
Conservatives: 14720