{"record":{"id":"f7f9123e3d280de1","repo":"ytdl-org/youtube-dl","slug":"unable-to-extract-s","errorCode":null,"errorMessage":"Unable to extract %s","messagePattern":"Unable to extract (.+?)","errorType":"exception","errorClass":"RegexNotFoundError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/common.py","lineNumber":1094,"sourceCode":"                    break\n\n        if not self.get_param('no_color') and compat_os_name != 'nt' and sys.stderr.isatty():\n            _name = '\\033[0;34m%s\\033[0m' % name\n        else:\n            _name = name\n\n        if mobj:\n            if group is None:\n                # return the first matching group\n                return next(g for g in mobj.groups() if g is not None)\n            elif isinstance(group, (list, tuple)):\n                return tuple(mobj.group(g) for g in group)\n            else:\n                return mobj.group(group)\n        elif default is not NO_DEFAULT:\n            return default\n        elif fatal:\n            raise RegexNotFoundError('Unable to extract %s' % _name)\n        else:\n            self.report_warning('unable to extract %s' % _name + bug_reports_message())\n            return None\n\n    def _search_json(self, start_pattern, string, name, video_id, **kwargs):\n        \"\"\"Searches string for the JSON object specified by start_pattern\"\"\"\n\n        # self, start_pattern, string, name, video_id, *, end_pattern='',\n        # contains_pattern=r'{(?s:.+)}', fatal=True, default=NO_DEFAULT\n        # NB: end_pattern is only used to reduce the size of the initial match\n        end_pattern = kwargs.pop('end_pattern', '')\n        # (?:[\\s\\S]) simulates (?(s):.) (eg)\n        contains_pattern = kwargs.pop('contains_pattern', r'{[\\s\\S]+}')\n        fatal = kwargs.pop('fatal', True)\n        default = kwargs.pop('default', NO_DEFAULT)\n\n        if default is NO_DEFAULT:\n            default, has_default = {}, False","sourceCodeStart":1076,"sourceCodeEnd":1112,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/common.py#L1076-L1112","documentation":"Error \"Unable to extract %s\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/common.py:1094 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Update youtube-dl; the site's page structure likely changed. Run with -v and report the issue."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}