Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

phak77, piranha Programmation : Chawki, 1 utilisateur anonyme et 43 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

expression régulière perl

 
n°6492
sickboypen​tdark
Profil : Membre
Posté le 31-01-2004 à 18:52:31  profilanswer
 

Bonsoir à tous,
 
Voilà j'ai un lien de la forme :
http://alpha/cgi-bin/jeux.cgi?mode [...] 518°5°10
 
et j'aimerais utiliser une expression régulière pour chopper les deux dernières valeurs qui sont 5 et 10.
Si quelqu'un a une idée ...
 
(PS : je ne veux pas de split)

n°6495
Hyperide
Profil : Jeune recrue
Posté le 31-01-2004 à 21:17:46  profilanswer
 

sickboypentdark a écrit :

Bonsoir à tous,
 
Voilà j'ai un lien de la forme :
http://alpha/cgi-bin/jeux.cgi?mode [...] 518°5°10
 
et j'aimerais utiliser une expression régulière pour chopper les deux dernières valeurs qui sont 5 et 10.
Si quelqu'un a une idée ...
 
(PS : je ne veux pas de split)


 
 Bonjour :hello:  
 
Je ne m'y connait pas vraiment en expressions régulières, mais si tu es sûr d'avoir toujours un lien de cette forme et que tu ne veux pas tester ta chaine, tu pourais peut-etre ecrire : ^.*°(\d+)°(\d+)$    [:humanrage]  
 
  .*   => n'importe quoi, un nombre quelconque de fois  
  d+  => \d est un racourci de classe de caractere implémenté dans Perl, pour signifier tout chiffre.
  ()   =>La parenthese permetant de faire réference au chifre capturé.
  +    => c'est  car tu a au moins 1 chiffre a capture et que je ne pense pas que tu connaise la limite a l'avance.
  °     => bah ... c pour ° .  
 
PS : encore un fois je ne suis pas sûr de mon expresion( :( ).Dans tous les cas bien la tester niveau perfs avant de l'utilisée !
 
PPS : si tu souhaite plus de rigueur et que tu es pret a taper + ( :lol: ), tu peux écrire ^.*°([0-9]+)°([0-9]+)$. En effet \d accepte egalement de reconnaître des caracteres unicodes comme des chiffres grecs, indiens, arabes, mais si tu est sûr de ton lien a chaque fois ....
PPPS: etant un grand débutant, je ne sais pas ce que sont les splits ( [:poilux] ). Donc désoler d'avoir peut etre posté un message inutile pour toi qui  trouve probablement cela tres bête  ...  [:pixelshader man]


Message édité par Hyperide le 31-01-2004 à 23:04:08
n°6498
tifrere
Junos power
Profil : Dinosaure
Posté le 31-01-2004 à 23:01:32  profilanswer
 

tu peux les supprimer toi meme


---------------
Speed, Quality, Price ... pick any two
n°6501
sickboypen​tdark
Profil : Membre
Posté le 01-02-2004 à 10:59:42  profilanswer
 

Désolé Hyperide mais ton expression régulière qui ressemblait fort à la mienne ne passe pas ... J'ai un peu passé la nuit là dessus, ça commence à me saouler ces langages interprétés c'est un peu le jeu de la loterie ... Sinon j'ai pas trop compri ta remarque tifrere ? Bonne journée ;))

n°6509
Hyperide
Profil : Jeune recrue
Posté le 01-02-2004 à 16:21:29  profilanswer
 

sickboypentdark a écrit :

Désolé Hyperide mais ton expression régulière qui ressemblait fort à la mienne ne passe pas ...  


 
A c'est dommage :(  
Mais juste a titre d'information, quand tu dis que ça marche pas, il se passe quoi ? Pas de données valides, un temps de recherche mega long, ... ?  [:humanrage]  
PS : pas la peine de te prendre encore la tête a me repondre, c'est juste au cas oû ...


Message édité par Hyperide le 01-02-2004 à 16:22:34
n°6538
biozy
Profil : Membre
Posté le 04-02-2004 à 16:14:11  profilanswer
 

c'est pourtant split qu'il faut utiliser....

n°6978
Le Hobbit ​Newbie
Profil : Jeune recrue
Posté le 03-03-2004 à 14:12:33  profilanswer
 

Salut
 
essaye ça au cas ou il y aurait vraiment un espace à la fin de ta chaine ^^.
 
^.*°(\d+)°(\d+)\s*$
 
avec ou sans espace chez moi c ok avec $1 = 5 et $2 = 10


Aller à :
Ajouter une réponse