String.prototype.extract = function(regex, n) {
    n = n === undefined ? 0 : n;
    
    if(!regex.global) {
	return this.match(regex)[n] || '';
    }
    
    var match, extracted = [];
    
    while((match = regex.exec(this))) {
	extracted[extracted.length] = match[n] || '';
    }
    return extracted;
};

