Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1338 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec les expressions regulieres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec les expressions regulieres

n°1224130
folkN2
Posté le 16-10-2005 à 22:01:51  profilanswer
 

Bonjoir ! :)
 
Voila j'ai besoin dans un script de comparer des chaines.. et d'y trouver des similitudes....
 
exemple ...  
$chaine1 = "Bonjour tout le monde [16/10]"
$chaine2 = "Bonjour tout le monde [17/10]"
 
j'aimerais pvr comparer ces deux chaines... et biensur detecter le fait que le debut soit le même hein qu'enregistrer les chiffres entre [] (séparement ...)
 
l'idéal pour moi serait de me retrouver avec deux tableaux  
$tab1[1] ="Bonjour..."
$tab1[2] ="16."
$tab1[3] ="10"
 
$tab2[1] ="Bonjour..."
$tab2[2] ="17"
$tab3[3] ="10"
 
j'ai lu pas mal de site.. (regexp.com que je vous conseil) mais je n'ai rien trouvé qui aille dans ce sens :/
 
Si quelqu'un pouvait m'aider.. (sans forcement me donner la soluce) , ca serait avec grand plaisir :)
 
merci d'avance
folkN


Message édité par folkN2 le 16-10-2005 à 22:20:40
mood
Publicité
Posté le 16-10-2005 à 22:01:51  profilanswer
 

n°1224138
sielfried
Posté le 16-10-2005 à 22:48:10  profilanswer
 

La fonction pour faire ça c'est preg_match/preg_match_all, à part ça c'est de la regexp assez simple a priori, si tes chaînes ont toujours la même tronche. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1224154
folkN2
Posté le 16-10-2005 à 23:30:49  profilanswer
 

ya quelquechose que je dois vraiment mal saisir ...
 
preg_match("`[a-zA-Z0-9 -]{1,}[([][0-9]{1,}/[0-9]{1,}[])]`", $chaine1,$tab1);
 
donc.. une chaine alphanum.. avec des " " ou des "-" .. suivit d'un "(" ou d'un "[" puis 1 ou plus chiffre , un "/" etc....
 
seulement il me renvoit bien ma chaine... mais dans au premier indice de mon tableau.. je ne vois pas trop comment lui dire de mettre chaque exp a des indices differents :/
 
PS: les chaines n'ont pas toujours la même tronche.. mais si deja j'arrive a le faire pour cette forme la.. ;)

n°1224162
sielfried
Posté le 16-10-2005 à 23:42:44  profilanswer
 

Tout ce qui est entre parenthèses sera récupéré dans ton $tab1, à partir de $tab1[1].  
 
Par ex. #([0-9]*)//([0-9]*)# sur "98941//2134" récupèrera les deux nombres séparément.


Message édité par sielfried le 16-10-2005 à 23:57:22

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1224176
folkN2
Posté le 17-10-2005 à 00:18:42  profilanswer
 

en effet.. apres ajout des parentheses.. tout est mis au bon endroit ;)
 
voila un probleme de reglé! un grand merci :)
 
Maintenant il est vrai que de facon globale ma chaine peu etre sous differentes formes .... mais je devrais pouvoir m'en sortir! encore merci pour les reponses a cette heure ;)
 
Bye
folkN

n°1224182
folkN2
Posté le 17-10-2005 à 00:43:25  profilanswer
 

j'en profite pour poser une autre petite question...
 
est-il possible que s'il ne trouve pas une expression il remplisse quand même le $tab de la même maniere que s'il avait bien trouvé l'expression?
 
ca me permet de garder les mêmes indices pour les mêmes informations dans le $tab ;)
 
alors? reve ou realité? :)
 
BouBye
folkN

n°1224243
sielfried
Posté le 17-10-2005 à 09:01:26  profilanswer
 
n°1224863
folkN2
Posté le 17-10-2005 à 19:01:46  profilanswer
 

on va dire que de facon generale ma chaine a cette forme. ..
 
"texte1 [xxx1/xxx2] texte2"
 
sachant que texte1 et/ou texte2 peuvent ne pas etre present >>
"texte1 [xxx1/xxx2]"
"[xxx1/xxx2] texte2"
"texte1 [xxx1/xxx2] texte2"
et j'aimerais donc savoir si a chaque fois je peux trouver dans mon $tab >>
$tab[1]= texte1 ou ' '
$tab[2]= xxx1
$tab[3]= xxx2
$tab[4]= texte2 ou ' '
 

n°1224901
sielfried
Posté le 17-10-2005 à 19:52:41  profilanswer
 

Eh ben suffit que ton masque soit en * au lieu d'être en +, histoire qu'il puisse catcher le vide.
 
edit: essaie #(.*?) ?\[([^/]+)/([^\]]+)\] ?(.*)#


Message édité par sielfried le 17-10-2005 à 19:53:59

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1224920
folkN2
Posté le 17-10-2005 à 20:54:32  profilanswer
 

outch ;) il va me falloir quelque temps pour analyser ton masque ;) mais il marche tres bien!
 
 
encore merci pour ton aide sielfried ;) si j'ai d'autre probleme sur les regexp je sais qui venir embetter maintenant :)

mood
Publicité
Posté le 17-10-2005 à 20:54:32  profilanswer
 

n°1224950
sielfried
Posté le 17-10-2005 à 21:52:10  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec les expressions regulieres

 

Sujets relatifs
probleme avec sql......probleme pour agrandir la taille d'un DIV
Probleme pour aller sur mon siteProbleme generation texte sur image
[XHTML;CSS] Problème de scroll[GTK] probleme de lancement de fonction C a l'aide d'un bouton
Problème avec hiddenProblème avec hidden
[JS] problème avec les expressions régulièresgros problème avec les expressions regulières [PERL]
Plus de sujets relatifs à : Probleme avec les expressions regulieres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR