Yahoo Pipes正则表达式Youtube链接

时间:2013-01-24 23:49:03

标签: regex youtube pipe

我有一个Feed可以在我的管道中导入youtube视频链接,但是自然的youtube链接会以各种格式显示...

http://youtube.com/onmdclU47Us
http://youtu.be/onmdclU47Us
http://www.youtube.com/watch?feature=player_detailpage&v=onmdclU47Us

以及url参数的各种其他变体。我尝试解析每个链接并获取视频的嵌入链接。这主要是使用正则表达式功能并将其换成youtube.com/embed/{video_ID}。

然而,这并不适用于所有情况......这就是我所得到的,任何帮助?

.+watch\?v=([0-9a-zA-Z-]+)

&([a-zA-Z0-9_-]+)?=([a-zA-Z0-9_-]+)?.([a-zA-Z0-9_-]+)?

.watch?feature=player_embedded&v=([0-9a-zA-Z-]+)

http://youtu.be/([0-9a-zA-Z-]+)

这些是正确的,还是我遗失了什么?

1 个答案:

答案 0 :(得分:0)

删除之前的答案


我花了一个多小时在SO上查看“提取YouTube ID”帖子的很多。我想我已经提出了一个几乎防弹的正则表达式来提取id,这与我发现的完全不同。它也适用于拇指网址。

首先需要注意的是:

  1. 假设该网址是有效的YouTube。
  2. 实际上就是这样。没有另一个。
  3. 这就是:

    (?:/favicon|%3D|[/=])([\w-]{11})[^\w-]

    就是这样。非常简单。看起来 - 没有外表。

    备注:

    1. 在捕获组1中返回ID。
    2. 不应该太难以将正则表达式添加到前面来实际检测到你的网址。