var search = new RegExp("<span class=\"highlight\">(?<text>.*)</span>", "g");
Is there something wrong with the RegEx? Firebug just says "invalid quantifier". Thats it, no more information.
The question mark quantifier is wrong there. You want to match and collect between the brackets (). Doing (? is wrong, if you want to match ( you should escape the brackets.
var search = new RegExp("<span class=\"highlight\">(<text>.*)</span>", "g");
(?<text>.*) was supposed to be a named group, which isn't supported by JavaScript regexes. The equivalent non-named group would be (.*).