1RegExp.escape = function(text) {
2  if (!arguments.callee.sRE) {
3    var specials = [
4      '/', '.', '*', '+', '?', '|', '$', '^',
5      '(', ')', '[', ']', '{', '}', '\\'
6    ];
7    arguments.callee.sRE = new RegExp(
8      '(\\' + specials.join('|\\') + ')', 'g'
9    );
10  }
11  return text.replace(arguments.callee.sRE, '\\$1');
12}