Использовать именованные группы захвата.
Regex r = new Regex("*(?<FirstNumber>[0-9]{1,2})*(?<SecondNumber>[0-9]{1,2})*");
string input = "changed from 1 to 10";
string firstNumber = "";
string secondNumber = "";
MatchCollection joinMatches = regex.Matches(input);
foreach (Match m in joinMatches)
{
firstNumber= m.Groups["FirstNumber"].Value;
secondNumber= m.Groups["SecondNumber"].Value;
}
Получите Expresson , чтобы помочь вам, у него есть опция экспорта в C #.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Regex, вероятно, не прав (моя копия экспресса истек: D)