Вам не нужно регулярное выражение для выполнения этой операции. Вы можете использовать string.PadLeft
:
s = s.PadLeft(6, '0');
Если вам нужно использовать регулярное выражение (возможно, из-за того, что вы выполняете более сложную замену, частью которой является лишь небольшая часть), тогда вы можете использовать MatchEvaluator в сочетании с вышеуказанным методом:
string s = "foo <12423> bar";
s = Regex.Replace(s, @"<(\d+)>", match => match.Groups[1].Value.PadLeft(6, '0'));
Результат:
foo 012423 bar