Почему вы хотите использовать регулярные выражения для этого? Что не так с:
string foo = s.Substring(4,2);
string bar = s.Substring(s.Length-3,3);
(вы можете легко их обернуть, чтобы немного проверить границы длины)
Если вы действительно хотите, вы могли бы обернуть его в Func<string,string>
, чтобы положить куда-нибудь - хотя я не уверен, что я потрудусь
Func<string, string> get4and5 = s => s.Substring(4, 2);
Func<string,string> getLast3 = s => s.Substring(s.Length - 3, 3);
string value = "abcd78defg123";
string foo = getLast3(value);
string bar = get4and5(value);