目前,一个先前回答的问题让我在查找中使用了这个正则表达式:
^.+(\?|&)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。
答案 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";
这是一个非常基本的替代品,但由于我不知道上下文等你想要在它中使用它似乎暂时还不错。如果您需要更复杂的东西,请告诉我。