Perl, 53
Edit: on no matches, sub now returns list with empty string (instead of empty list) as required.
It also avoids splitting on single space character, as it triggers 'split on any white-space' behavior, which probably violates the rules. I could use / / delimiter, which would split on single space, but paradoxically it would look like using regexp pattern. I could use unpack at the cost of some extra characters and so get rid of split controversy altogether, but I think that, what I finish with, splitting on a literal character (other than space) is OK.
sub f{shift if(@_=split a,pop=~y/0-9/a/csr)[0]eq''and$#_;@_} sub f{shift if(@_=split a,pop=~y/0-9/a/csr)[0]eq''and$#_;@_} And, no, Perl's transliteration operator doesn't do regular expressions. I can unroll 0-9 range to 0123456789 if that's the problem.