From 6ccdbb3a60c575f8dd1a672ff2b60994a8657417 Mon Sep 17 00:00:00 2001 From: David Murdoch Date: Tue, 20 Dec 2011 18:18:08 -0500 Subject: [PATCH] Optimize regular expressions. The capture groups aren't needed/used; the character classes will do the job just fine. Also, normalize the use of quotation-marks (change `"` to `'`' where appropriate). --- backbone.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backbone.js b/backbone.js index eafa08a2..f4ad577b 100644 --- a/backbone.js +++ b/backbone.js @@ -638,8 +638,8 @@ // Cached regular expressions for matching named param parts and splatted // parts of route strings. - var namedParam = /:([\w\d]+)/g; - var splatParam = /\*([\w\d]+)/g; + var namedParam = /:[\w\d]+/g; + var splatParam = /\*[\w\d]+/g; var escapeRegExp = /[-[\]{}()+?.,\\^$|#\s]/g; // Set up all inheritable **Backbone.Router** properties and methods. @@ -687,9 +687,9 @@ // Convert a route string into a regular expression, suitable for matching // against the current location hash. _routeToRegExp : function(route) { - route = route.replace(escapeRegExp, "\\$&") - .replace(namedParam, "([^\/]*)") - .replace(splatParam, "(.*?)"); + route = route.replace(escapeRegExp, '\\$&') + .replace(namedParam, '([^\/]*)') + .replace(splatParam, '(.*?)'); return new RegExp('^' + route + '$'); }, @@ -855,7 +855,7 @@ // a new one to the browser history. _updateHash: function(location, fragment, replace) { if (replace) { - location.replace(location.toString().replace(/(javascript:|#).*$/, "") + "#" + fragment); + location.replace(location.toString().replace(/(javascript:|#).*$/, '') + '#' + fragment); } else { location.hash = fragment; }