Границу, которую вы ищете, можно охарактеризовать как «Положение, в котором цифра следует за нецифровой цифрой или где цифра следует за цифрой»
Итак:
string[] result = Regex.Split("abc123def456", @"(?<=\D)(?=\d)|(?<=\d)(?=\D)");
Используйте [0-9]
и [^0-9]
соответственно, если \d
и \D
недостаточно конкретны.