регулярное выражение построение
Имеем строку
youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM нужно получить то что между /watch?v= и & в нашем случае это PstrAfoMKlc . Подскажите? |
Цитата:
var str='youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM' var beg='/watch?v=' var end='&' var i=str.indexOf(beg)+beg.length var j=str.indexOf(end,i) alert(str.substring(i,j)) |
Цитата:
alert(/\?v=(\w+?)&/.exec('youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM')[1]) |
Цитата:
|
?
var str="youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM"; alert(str.split("?v=")[1].split("&")[0]) |
В принципе как и ожидалось.)
<script type="text/javascript"> function f1(){ var str='youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM'+Math.round(); var beg='/watch?v='; var end='&'; var i=str.indexOf(beg)+beg.length; var j=str.indexOf(end,i); return str.substring(i,j) } function f2(){ var str='youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM'+Math.round(); return /\?v=(\w+?)&/.exec(str)[1] } function f3(){ var str='youtube.com/watch?v=PstrAfoMKlc&feature=rec-LGOUT-exp_stronger_r2-2r-6-HM'+Math.round(); return str.split('?v=')[1].split('&')[0] } function test(f){ var d=new Date(),i=10000,str=''; while(i--){str+=f()}; document.write(new Date()-d+'<br>') return str } var ar=[test(f1),test(f2),test(f3)] document.write(ar[1]==ar[2]&&ar[0]==ar[1]) </script> |
ппц...я пока не мог на php уже сделал=)
|
Часовой пояс GMT +3, время: 15:02. |