[PHP] petit pb avec une regexp

petit pb avec une regexp [PHP] - PHP - Programmation

Marsh Posté le 26-11-2003 à 15:35:06    

J'ai une chaine de ce type =>
 

Code :
  1. ArchiveRevision:Labels=[toto]


 
et je voudrais recuperer la valeur entre [] (toto ici donc).
 
Voici mon code :
 

Code :
  1. $string = 'ArchiveRevision:Labels=[toto]';
  2. $label = preg_match("/^.+\[([\w]*)\]$/", $string, $matches);
  3. print_r(matches);


 
et bien sur ça marche pas (matches est vide). :o
 
Qqun peut me dire ce qui foire dans ma regexp (j'ai pas l'habitude d'utiliser les regexp donc elle doit etre mauvaise)?

Reply

Marsh Posté le 26-11-2003 à 15:35:06   

Reply

Marsh Posté le 26-11-2003 à 15:54:14    

Ca marche, avec un $ devant "matches" dans print_r()...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-11-2003 à 16:29:18    

Mara's dad a écrit :

Ca marche, avec un $ devant "matches" dans print_r()...


 
Euh oui... mauvais copier/coller. Ce bout de code fonctionne en fait, mon pb venait d'ailleurs... Dans la chaine que j'utilisais pour tester (toto) il n'y avait pas d'espace alors que dans ma vraie chaine il y avait un espace (il faut donc ajouter \s). :sarcastic:
 

Reply

Marsh Posté le 26-11-2003 à 16:32:06    

Ou plus simplement :  
/^.+\[(.*)\]$/


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-11-2003 à 16:39:32    

Mara's dad a écrit :

Ou plus simplement :  
/^.+\[(.*)\]$/


 
Yep. Je prefere toujours essayer de limiter au max mais en fait dans ce cas precis je ne peux pas vraiment savoir quels caracteres je vais avoir entre les [] donc il vaut mieux utiliser le ".". :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed