There has to be some kind of splitting character or characters, otherwise there would be no way to know what differentiates one group of numbers in a string from another. In the OP's original example and data set, the strings happened to be very structured with a convenient splitting character right before the final group of numbers, which made using str.split simple. In your example, relying on the decimal digit regex special sequence implies the splitting character is any non-decimal digit, which presents its own challenges if the numbers included commas or periods.
As I mentioned above, I like and use regex all the time, but it can also be overkill when the situation can be handled with basic string methods.