Expression Reguliere cplx, need help.

Expression Reguliere cplx, need help. - Perl - Programmation

Marsh Posté le 12-07-2004 à 09:06:22    

hello !
 
J'essaye de faire une expression reguliere mais j'ai un peu de mal et je commence a douter de ca faisabilite !
 
J'ai une chaine qui peut ressembler a ca :
"1.0.2"
"1.6.25.999"
"3.5"
 
Et j'essaye *en une seul ligne* de recuperer dans X variables ( 2,3,4 )
les differents nombre.
 
Pour le moment j'ai ca :
 
my($toto,$titi,$tutu,$tata) =  
($version =~ /(.+?\.|.*?)(.+?\.|.*?)(.+?\.|.*?)(.*?)/);
 
sans succes :(
 
Il me semble qu'il y des regles/langages grammaticales pour construire ce genre d'expression reguliere complexes, mais je n'en suis pas adeptes !
 
Merci pour votre aide !

Reply

Marsh Posté le 12-07-2004 à 09:06:22   

Reply

Marsh Posté le 12-07-2004 à 12:13:24    

Hello,
 
tu pourrais utiliser la fonction split() en éclatant tes données en fonction du caractère "." (point)


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 12-07-2004 à 13:14:41    

+1
Bein plus simple et en plus tu n'est pas dépendant du nombre de variables

Reply

Marsh Posté le 14-07-2004 à 00:10:15    

Reply

Marsh Posté le 16-07-2004 à 08:31:42    

Merci bien !  
a force d'utiliser les expressions regulieres je n'ai meme pas pense a utiliser une fonction aussi simple !
 
Encore Merci ;)

Reply

Marsh Posté le 17-07-2004 à 06:00:47    

split est clairement la meilleure solution, mais pour info tu peux utiliser une expression régulilère du genre /\d+/g qui, dans un contexte de liste, te renvoie un tableau des éléments matchés.

Reply

Sujets relatifs:

Leave a Replay

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