使用/ v替换Yahoo Pipes中的Youtube URL?v =

时间:2011-01-04 09:25:37

标签: regex perl youtube yahoo-pipes

目前,一个先前回答的问题让我在查找中使用了这个正则表达式:

^.+(\?|&)v=([a-zA-Z0-9]+).*$

将此作为替换

hxxp://www.youtube.com/v/$1

我想转换

hxxp://www.youtube.com/?watch="YoutubeID" 

Youtube.com/v/youtubeID. 

目前的正则表达式在这种情况下失败了。

http://www.youtube.com/watch?v=67-YcLickUA

返回时

... v = 67,而不是完整的VideoID。

1 个答案:

答案 0 :(得分:1)

use strict;
use warnings;

my $string = 'http://www.youtube.com/watch?v=67-YcLickUA';

$string =~ s(.+watch\?v=([0-9a-zA-Z-]+))(Youtube.com/v/$1);

print "$string\n";

这是一个非常基本的替代品,但由于我不知道上下文等你想要在它中使用它似乎暂时还不错。如果您需要更复杂的东西,请告诉我。