Problème de Regex

Résolu/Fermé
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 - 9 janv. 2011 à 14:28
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 - 9 janv. 2011 à 14:34
Bonjour !

En PHP, j'ai une expression régulière à écrire, qui me fait le traitement suivant :

J'ai une chaîne $var qui contient du texte de ce type : un ensemble de caractères sans étoile, puis une étoile, de nouveau un ensemble de caractères sans étoile, une étoile, puis n'importe quoi (cela peut être vide, cela peut contenir des étoiles, etc);

Exemple : a*b*bonjour
Et je dois en tirer a, ensuite b, ensuite bonjour.

Il faut aussi gérer le cas de la chaine vide : a*b*
Je dois récupérer a, ensuite b, ensuite -rien-

Et aussi, il peut y avoir des étoiles dans la troisième partie : a*b*bonjour*hello
Je dois récupérer : a, ensuite b, ensuite bonjour*hello

J'ai déjà essayé d'écrire une bonne dizaine d'expressions différentes, mais elles ne fonctionnent pas.

Exemple :
$var = "a*b*bonjour*hello";
$case1 = preg_replace("#^([^\*]+)\*([^\*]+)\*(.*)$#", "$1", $var);
$case2 = preg_replace("#^([^\*]+)\*([^\*]+)\*(.*)$#", "$2", $var);
$case3 = preg_replace("#^([^\*]+)\*([^\*]+)\*(.*)$#", "$3", $var);

Je dois régler ce problème avec des expressions régulières, ne me dites donc pas d'utiliser explode();
Aussi, vous serez gentils de bien vouloir essayer les regex que vous m'envoyer avant de les poster.

Merci !

1 réponse

Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
9 janv. 2011 à 14:34
Oh zut...

En fait, les regex que j'ai posté au dessus sont bien et fonctionnent. Ce sont les dernières que j'ai écrites, et comme par hasard, c'est celles qui faut. Mais avec Notepad++, le système FTP était déconnecté, je ne l'avais pas vu, et la page ne s'enregistrait pas, ce qui laissait le résultat en erreur.

Merci !
[Résolu]
0