#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?im)^https?:\/\/(?:(?:youtu\.be\/)|(?:(?:www\.)?youtube\.com\/(?:(?:watch\?(?:[^&]+&)?vi?=)|(?:vi?\/)|(?:shorts\/))))([a-zA-Z0-9_-]{11,})"
Local $sString = "https://youtu.be/NLqAF9hrVbY" & @CRLF & _
"http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US" & @CRLF & _
"https://www.youtube.com/watch?v=NLqAF9hrVbY" & @CRLF & _
"http://www.youtube.com/watch?v=JYArUl0TzhA&feature=featured" & @CRLF & _
"http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel" & @CRLF & _
"http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub" & @CRLF & _
"http://youtu.be/6dwqZw0j_jY" & @CRLF & _
"http://www.youtube.com/watch?v=6dwqZw0j_jY&feature=youtu.be " & @CRLF & _
"http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub" & @CRLF & _
"http://www.youtube.com/watch?v=peFZbP64dsU" & @CRLF & _
"http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player" & @CRLF & _
"http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player" & @CRLF & _
"http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player " & @CRLF & _
"http://youtu.be/afa-5HQHiAs" & @CRLF & _
"http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player" & @CRLF & _
"http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel" & @CRLF & _
"http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player" & @CRLF & _
"http://youtube.com/watch?feature=youtube_gdata_player&vi=dQw4w9WgXcQ" & @CRLF & _
"http://youtube.com/watch?feature=youtube_gdata_player&v=dQw4w9WgXcQ" & @CRLF & _
"https://youtube.com/shorts/TjBH4bJr7SM?feature=share"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm