aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-12-08 22:42:49 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-12-08 22:43:38 +0530
commitb44cd29851fdc2fadb283adb59a074f89a27ba7e (patch)
tree12eb6e0afc1c3941156bd21e120213a4acfe636d
parent85a802969ebb62ff57347110f7ad0d87099e65e7 (diff)
downloadhypervideo-pre-b44cd29851fdc2fadb283adb59a074f89a27ba7e.tar.lz
hypervideo-pre-b44cd29851fdc2fadb283adb59a074f89a27ba7e.tar.xz
hypervideo-pre-b44cd29851fdc2fadb283adb59a074f89a27ba7e.zip
[jsinterp] Escape regex that looks like nested set
Closes #5749
-rw-r--r--yt_dlp/jsinterp.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/yt_dlp/jsinterp.py b/yt_dlp/jsinterp.py
index e25997129..3f7d659ac 100644
--- a/yt_dlp/jsinterp.py
+++ b/yt_dlp/jsinterp.py
@@ -343,7 +343,8 @@ class JSInterpreter:
inner, outer = self._separate(expr, expr[0], 1)
if expr[0] == '/':
flags, outer = self._regex_flags(outer)
- inner = re.compile(inner[1:], flags=flags)
+ # Avoid https://github.com/python/cpython/issues/74534
+ inner = re.compile(inner[1:].replace('[[', r'[\['), flags=flags)
else:
inner = json.loads(js_to_json(f'{inner}{expr[0]}', strict=True))
if not outer: