VBScriptでYouTubeの動画IDを抽出する正規表現を作ってみる

何をするスクリプトか

YouTube動画のURLから動画ID(英数字と-_で構成された11桁の文字列)を抽出するスクリプトです。

動画のサムネールを取得する時に便利かな、と。

YouTubeの動画IDを抽出するスクリプト

URL = "https://www.youtube.com/watch?v=2ypfdxeKAZ8"

Set RE = New RegExp
  RE.IgnoreCase = False       '大文字と小文字を区別する
  RE.Global = False           '文字列全体を検索するかどうか
  RE.MultiLine = False        '複数行にわたる文字列で検索
  RE.Pattern = "[A-Za-z0-9\-_]{11}"

Set Matches = RE.Execute(URL)   ' 検索を実行します。
If Matches.Count>0 Then
  For Each Match in Matches      ' Matches コレクションに対して繰り返し処理を行います。
    YouTubeID = Match.Value
  Next
Else
  MsgBox "YouTubeIDはみつかりませんでした"
  WScript.Quit
End If
MsgBox YouTubeID

なお、For Each文のところは、好みの問題で、こういう書き方がエラーが少なくなるような気がするのでそうしているのですが、3行分をまとめて、

YouTubeID = Matches(0).Value

として取得した方が無駄がないかも。

タイトルとURLをコピーしました