![Regex en argumentos de youtube-dl](https://rvso.com/image/1654756/Regex%20en%20argumentos%20de%20youtube-dl.png)
Quiero extraer dos rutas de los argumentos de youtube-dl, la plantilla de salida y la ubicación de ffmpeg.
-o (.*%\(ext\)s).* --ffmpeg-location (.*)
Con la expresión regular anterior puedo capturar tanto la plantilla de salida como la ubicación de ffmpeg de la siguiente expresión
-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/
El problema es que a veces no se proporciona la ubicación de ffmpeg, como esta:
-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
Quiero poder capturar la plantilla de salida incluso cuando la ubicación de ffmpeg no esté presente en la expresión usando solo una expresión regular.
estoy probando estoaquí.
Respuesta1
Hago de mi comentario una respuesta.
Utilice esta expresión regular, funciona para ambos casos:
-o (.*%\(ext\)s).+?(?:--ffmpeg-location (.+?))?$