(function(){

  var cleanNumber = function(i) {
    var n = parseFloat(i.replace(/[^\-?0-9.]/g, ''));
    return isNaN(n) ? null : n;
  },

  compareNumberReverse = function(a, b) {
    // Treat null as always greater
    if (a === null) return 1;
    if (b === null) return -1;
    return a - b;
  };

  Tablesort.extend('reverse_number', function(item) {
    return item.match(/^-?[£\x24Û¢´€]?\d+\s*([,\.]\d{0,2})/) || // Prefixed currency
      item.match(/^-?\d+\s*([,\.]\d{0,2})?[£\x24Û¢´€]/) || // Suffixed currency
      item.match(/^-?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/); // Number
  }, function(a, b) {
      return compareNumberReverse(cleanNumber(a), cleanNumber(b));
  });

}());

@@ -365,168 +365,8 @@
 urn 
-item.match(/%5E-?%5B%C2%A3%5Cx24%C3%9B%C2%A2%C2%B4%E2%82%AC%5D?%5Cd+%5Cs*(%5B,%5C.%5D%5Cd%7B0,2%7D)/) %7C%7C // Prefixed currency%0A      item.match(/%5E-?%5Cd+%5Cs*(%5B,%5C.%5D%5Cd%7B0,2%7D)?%5B%C2%A3%5Cx24%C3%9B%C2%A2%C2%B4%E2%82%AC%5D/) %7C%7C // Suffixed currency%0A      
 item
@@ -430,18 +430,8 @@
 $/);
- // Number
 %0A  %7D

Remove irrelevant currency regexes