youtube-dl 参数中的正则表达式

youtube-dl 参数中的正则表达式

我想从 youtube-dl 参数中提取两个路径,即输出模板和 ffmpeg 位置

-o (.*%\(ext\)s).* --ffmpeg-location (.*)

使用上面的正则表达式,我能够从下面的表达式中捕获输出模板和 ffmpeg 位置

-o D:/Deskttop/test//%(title)s.%(ext)s -i -f (best)[height=1080]/best --recode-video mp4 https://www.youtube.com/watch?v=MMuUFjxLQJU --no-playlist --encoding utf-8 --ffmpeg-location D:/Deskttop/test/

问题是有时没有提供 ffmpeg 位置,如下所示:

-o D:/Deskttop/test//%(title)s.%(ext)s -i -f (best)[height=1080]/best --recode-video mp4 https://www.youtube.com/watch?v=MMuUFjxLQJU --no-playlist --encoding utf-8

我希望能够仅使用一个正则表达式来捕获输出模板,即使表达式中不存在 ffmpeg 位置。

我正在测试这个这里

答案1

我以我的评论作为答案。

使用这个正则表达式,它适用于两种情况:

-o (.*%\(ext\)s).+?(?:--ffmpeg-location (.+?))?$

演示与说明

相关内容