((((\b(#|\w)+\b.)?(\bprototype\b.)?(\b(#|\w)+\b)(\s*=\s*)?)?(\b(#|\w)+\b\s*)([\s\w,=]\s))|(\bclass\b\s+\b\w+\b\s*(extends\s*\b\w+\b))(?=\s*{[\s\S]+}))(?=\s*{[\s\S]+})