Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery、Regexp、生成动态url_Javascript_Regex_Url - Fatal编程技术网

Javascript jquery、Regexp、生成动态url

Javascript jquery、Regexp、生成动态url,javascript,regex,url,Javascript,Regex,Url,我需要一个regexp帮助,因为对我来说需要很多时间,对你来说需要几分钟:) 我有一个网址: http://www.youtube.com/watch?v=9_Hd8hXhg7o&feature=youtube_gdata 我无法将此添加到嵌入对象中,对于嵌入,我必须更改此URL: http://www.youtube.com/v/9_Hd8hXhg7o&hl=en_US&fs=1& 这意味着,我想在某个变量中添加youtube cod,比如 var url

我需要一个regexp帮助,因为对我来说需要很多时间,对你来说需要几分钟:)

我有一个网址:

http://www.youtube.com/watch?v=9_Hd8hXhg7o&feature=youtube_gdata 
我无法将此添加到嵌入对象中,对于嵌入,我必须更改此URL:

http://www.youtube.com/v/9_Hd8hXhg7o&hl=en_US&fs=1&
这意味着,我想在某个变量中添加youtube cod,比如

var url = after regexp "9_Hd8hXhg7o";

"http://www.youtube.com/v/" + url +"&hl=en_US&fs=1&";
谢谢

这应该可以做到:

var url = "http://www.youtube.com/watch?v=9_Hd8hXhg7o&feature=youtube_gdata";

var id = url.match(/(\?|&)v=(.*?)(&|$)/)[2];

var new_url = "http://www.youtube.com/v/" + id+"&hl=en_US&fs=1&";
这应该适用于几乎所有你抛出的格式。此代码段查找
?v=
&v=
及其后的任何字符,直到
&
符号或行尾,因此也可以从这些字符中找到ID:

http://www.youtube.com/watch?v=9_Hd8hXhg7o
http://www.youtube.com/watch?feature=youtube_gdata&v=9_Hd8hXhg7o
http://www.youtube.com/watch?fs=1&v=9_Hd8hXhg7o&feature=youtube_gdata&

与其单独检查
&
,您可能只需要使用
\Wv=(.+?)(&|$)
。事实上,通过使用一些字符类,您可以使它变得更加简单:
[?&]v=(\w+)