What you are doing is selecting all elements with the class of btnX where X could be 0-9.
To do this with the name attribute starting with "btn" you need to use:
$(':regex(name,^btn)').hover(function() { ... }, function() { ... });
-- EDIT to include working jsFiddle demo --
Also, don't forget to put this on your page:
jQuery.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(','),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
},
regexFlags = 'ig',
regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}