Matches comments, strings, templates, and regexes from javascript code. also matches templates recursively in order to correctly get template data