function extractParams(match, keys, params) {
	params = params || {};

	for(var i = 1, l = match.length; i < l; ++i) {
		var key = keys[i - 1];
		var val = 'string' === typeof match[i] ?
			decodeURIComponent(match[i]) :
			match[i];

		if(key) {
			params[key.name] = val;
		} else {
			params.push(val);
		}
	}
}
function extractParams(match, keys, params) {
	params = params || {};

	for(var i = 1, l = match.length; i < l; ++i) {
		var key = keys[i - 1];
		var val = 'string' === typeof match[i] ?
			decodeURIComponent(match[i]) :
			match[i];

		if(key) {
			params[key.name] = val;
		} else {
			params.push(val);
		}
	}
}
function extractParams ( match , keys , params ) { params = params || { } ; for ( var i = 1 , l = match . length ; i < l ; ++ i ) { var key = keys [ i - 1 ] ; var val = 'string' === typeof match [ i ] ? decodeURIComponent ( match [ i ] ) : match [ i ] ; if ( key ) { params [ key . name ] = val ; } else { params . push ( val ) ; } } }
PrivateFunction: extractParams
Takes a match object of a regex execution and extracts the parameters
identified by keys. All values are returned inside an array at the end.

Thanks to:
* https://github.com/visionmedia/express/blob/master/lib/router/route.js#L50
Paremters:
(Object) match - Resulting match object of an executed Regexp
(Object) keys - Keys to extract
(Object) params - An object which will contain all extracted parameters
from url, if a route matched.
PrivateFunction : extractParams Takes a match object of a regex execution and extracts the parameters identified by keys . All values are returned inside an array at the end .