Plusieurs fois la dernière parenthèse

Résolu
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 1 juil. 2009 à 12:33
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 1 juil. 2009 à 21:06
Bonjour,

Je ne m'y connais pas trop en expressions régulières, mais il se trouve que j'en ai besoin et je suis confronté à un petit problème ... Donc voici la partie de ma regex ne marchant pas:

(;(.*);([0-9.]*)){3,}

Vous aurez compris que je cherche un truc du genre ";N'importe quoi;99999" au moins trois fois d'affilé. En fait jusque là tout va bien le truc c'est que j'utilise preg_replace_callback en php et dans match il ne me met que le dernier groupe de ";N'importe quoi;99999" et non tous ...

Donc ma question est: Savez-vous comment faire pour tous les récupérer ?

A+

Antho 25
------------------------------------
Rien n'empêche Melba

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juil. 2009 à 20:44
tu ne pourras pas sous cette forme (extraire n chaines, ou 'n' indéfini)

tu pourras extraire tout couple balise/parametre ainsi:

{(.*?)=";?(.*?)"}
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juil. 2009 à 15:06
quel genre de chaine doit tu matcher, et ne pas matcher ?
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
1 juil. 2009 à 18:58
En fait c'est dans un "forum", je fais mes propres balises du genre {balise="paramètres"} et il se trouve que pour la balise que je cherche a faire le nombre de paramètre est indéterminé, ils doivent juste s'agencer comme décris dans le premier message (";une chaine;un nombre" au moins 3 fois d'affilé) et l'expression est correcte puisque je rentre bien dans ma fonction quand la bonne chaine est trouvée, cependant il n'envoie que le dernier groupe dans $match ...

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
1 juil. 2009 à 21:06
Tout d'abord merci,
Alors en fait je faisais pas comme ça mais c'est vrai qu'au final il vaut mieux faire comme ce que tu fais et faire un split sur le point-virgule des paramètres ...

Bon bah voilà, c'est tout ...

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
Rejoignez-nous