diff --git a/yt_dlp/extractor/foxnews.py b/yt_dlp/extractor/foxnews.py
index cee4d6b496..e8513f2c28 100644
--- a/yt_dlp/extractor/foxnews.py
+++ b/yt_dlp/extractor/foxnews.py
@@ -59,10 +59,13 @@ class FoxNewsIE(AMPIE):
     @staticmethod
     def _extract_urls(webpage):
         return [
-            mobj.group('url')
+            f'https://video.foxnews.com/v/video-embed.html?video_id={mobj.group("video_id")}'
             for mobj in re.finditer(
-                r'<(?:amp-)?iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//video\.foxnews\.com/v/video-embed\.html?.*?\bvideo_id=\d+.*?)\1',
-                webpage)]
+                r'''(?x)
+                    <(?:script|(?:amp-)?iframe)[^>]+\bsrc=["\']
+                    (?:https?:)?//video\.foxnews\.com/v/(?:video-embed\.html|embed\.js)\?
+                    (?:[^>"\']+&)?(?:video_)?id=(?P<video_id>\d+)
+                ''', webpage)]
 
     def _real_extract(self, url):
         host, video_id = self._match_valid_url(url).groups()