[Regex] parser des tuples - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Regex] parser des tuples (/showthread.php?tid=6226) |
[Regex] parser des tuples - niahoo - 26-06-2012 Hello, Je cherche à récupérer des paramètres dans une URL pour servir une image selon ces paramètres. http://rubular.com/r/xJ9LZNR72B Voici par exemple une chaine à parser Code : (key1)(key2,value1)(key3,value1,value2)(key4,value1,value2,value3) Code : /\(([a-zA-Z0-9]+)(?:,([a-zA-Z0-9]+))*\)/ Le problème est que pour les tuples à plus de 2 item (soit plus d'une valeur) je ne récupère que la dernière valeur. Merci ! avec rubular si j'ajoute ^ et $ devant et à la fin de ma regexp ça ne match plus ... RE: [Regex] parser des tuples - keke - 26-06-2012 et un truc comme ça : \(([a-zA-Z0-9]+,)*[a-zA-Z0-9]+\) avec un explode à la fin ? kéké qui n'est jamais très doué avec les expressions régulières. RE: [Regex] parser des tuples - Angelblade - 26-06-2012 C'est ça que tu veux obtenir? http://rubular.com/r/F4MyhC3eu3 RE: [Regex] parser des tuples - niahoo - 26-06-2012 ça c'est justement la solution avec le explode. J'ai l'impression que regex ne gère pas mon cas, c'est soit explode soit 2 passages de regex ... Merci quand même. RE: [Regex] parser des tuples - srm - 26-06-2012 http://rubular.com/r/U3hglmdTNG /([\w0-9]+)(?:,((?:[,\w0-9]+)+))?/ C'est ça que tu veux ? RE: [Regex] parser des tuples - niahoo - 26-06-2012 Tu as fait pareil que le précédent. Apparemment on ne peut pas avoir comme résultat de capture un nombre variable d'éléments. ça fait ièch! RE: [Regex] parser des tuples - srm - 26-06-2012 Ah j'avais pas compris ce que tu veux. Tu peux tricher comme ça : http://rubular.com/r/2OLCmgvIGl Mais le système regex est pas prévu pour faire ce que tu veux RE: [Regex] parser des tuples - niahoo - 26-06-2012 ouaip c'est bien ce que j'ai compris. ça manque de fonctionnalités récursives. |