JeuWeb - Crée ton jeu par navigateur
[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)
et voici la regex que j'utilise pour le moment
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 Smile


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.