Позволю себе заметить, что от качества реги тоже многое зависит. Я, например, не смог правильно ответить на этот вопрос
//что вернут скобки?
var x = "Copyright 2003.";
var z = /^.*([0-9]+)/g;
alert(z.exec(x)[1]);
хотя, он представляет собой один из принципов механизма работы регулярный выражений, что, на мой взгляд, достаточно важно.