2013-08-17 5 views
0

J'ai besoin d'analyser url240 et url360 à partir d'une chaîne. Mais je ne peux pas le faire. Sur PHP, c'est très facile:javascript str-match ne peut pas utiliser

preg_match('/&url240=(.*?)&/mis', $string, $C); 

Mais je ne peux pas le faire sur javascript. Mon code javascript:

var str = "&url240=http://cs506410v4.vk.me/u170785079/videos/d10bdfccf6.240.mp4&url360=http://cs506410v4.vk.me/u170785079/videos/d10bdfccf6.360.mp4&url480="; 
var n=str.match(/url240=/gi); 
alert(n); 
+0

Que dit 'alert()'? – Pointy

+0

En chrome et firefox, j'obtiens 'url240 =' avec ce code. Est-ce faux? –

+0

Pourquoi un downvote pour cette question? –

Répondre

1

Il semble que vous voulez utiliser exec et non match, de sorte que vous pouvez obtenir votre groupe de capture

var e = /&url240=(.*?)&/i.exec(str); 
e[1]; // "http://cs506410v4.vk.me/u170785079/videos/d10bdfccf6.240.mp4" 

Si vous voulez trouver plusieurs choses en utilisant exec, vous pouvez le mettre en boucle, par exemple

var re = /(.)/g, 
    str = '123', 
    e; 
while (e = re.exec(str)) console.log(e); 
/* ["1", "1", index: 0, input: "123"] 
    ["2", "2", index: 1, input: "123"] 
    ["3", "3", index: 2, input: "123"] */