Visto che secondo me è meglio reinventare la ruota (solo quando non è troppo grande ), me lo sono scritto da solo il polyfiller
Mi sembra giusto

(Solo che anziché String.match(RegExp) l'ho fatto RegExp.exec(String): è la stessa cosa, no?)
Sostanzialmente sì, perlomeno in questo caso.

Che ne pensi?
Ne ho visti diversi in giro, non ho fatto particolari test. Il tuo script mi sembra comunque valido da quel che ho provato. Direi interessante