Вместо того, чтобы исключать то, что вы не хотите, часто проще выбрать то, что вы хотите (используя скобки). Кроме того, для этого требуется только одна оценка регулярного выражения:
s.match(/^\D*(.*?)\D*$/)[1]
Или, это удобное сокращение:
s[/^\D*(.*?)\D*$/, 1]