Вы можете использовать \s*
(0 или более пробелов) между группами и при совпадении объединить захваченные значения:
var result = Regex.Matches(s, @"([A-Z])\s*([A-Z0-9<])")
.Cast<Match>()
.Select(x => $"{x.Groups[1].Value}{x.Groups[2].Value}")
.ToList();
Если между двумя группами должен быть хотя бы один пробел, заменить *
на +
.
Если ваши пробельные символы ограничены определенным списком, замените \s*
на [\t\r\n ]*
(или [\t\r\n ]+
), чтобы соответствовать только пробелу, который вы упомянули в вопросе.